2016-12-04 80 views
-1

我想为每个网格的每个第一行/列添加标签“Day/Time”。它似乎只是添加到最后一个网格。请参阅附件图片。以黄色突出显示在哪里我想补充我的标签“日期/时间”如何将JLabel添加到每个第一行,JPanel中的第一列

附网格是代码:

private void buildGridPanel() { 
    for (int countRoom=0; countRoom < roomPanels.length; countRoom++) { 
     roomPanels[countRoom] = new JPanel(); 
     roomPanels[countRoom].setLayout(new GridLayout(ROW, COL)); 
     roomPanels[countRoom].setBorder(BorderFactory.createEmptyBorder(1, 1, 1, 1)); 

     if (countRoom == 0) { 
      roomPanels[countRoom].setBorder(BorderFactory.createTitledBorder(roomList[countRoom])); 
     } else if (countRoom == 1) { 
      roomPanels[countRoom].setBorder(BorderFactory.createTitledBorder(roomList[countRoom])); 
     } else { 
      roomPanels[countRoom].setBorder(BorderFactory.createTitledBorder(roomList[countRoom])); 
     } 


     for (int i = 0; i < ROW; i++) { 
      for (int j = 0; j < COL; j++) { 
       //create new panel for every grid 
       JPanel pan = new JPanel(); 

       pan.setEnabled(true); 
       pan.setBackground(Color.WHITE); 
       pan.setPreferredSize(new Dimension(3, 3)); 
       pan.setBorder(BorderFactory.createLineBorder(Color.BLACK)); 
       // an exception to not click the top row and most left column 
       // headers 
       if (i != 0 && j != 0) { 
        pan.addMouseListener(new BoxListener()); // add a mouselistener to make the grid panel clickable 
       } 
       // set names for each panel for later use 
       if (countRoom == 0) { 
        pan.setName(roomList[countRoom] + "_" + i + "_" + j); 
        if (i == 0 && j == 0) { 
         pan.add(labelDayTime); 
        } 
       } else if (countRoom == 1) { 
        pan.setName(roomList[countRoom] + "_" + i + "_" + j); 
        if (i == 0 && j == 0) { 
         pan.add(labelDayTime); 
        } 
       } else { 
        pan.setName(roomList[countRoom] + "_" + i + "_" + j); 
        if (i == 0 && j == 0) { 
         pan.add(labelDayTime); 
        } 
       } 

       // add the panel to the room panels 
       roomPanels[countRoom].add(pan); 


      } // end for loop COL 
     } // end for loop ROW 

     // add each room panels to the center panel 
     centerPanel.add(roomPanels[countRoom]); 
    } // end for loop 


} 

enter image description here

回答

1

一个组件只能有一个单亲家庭,并且只能在任何时候都存在于面板的一部分上。

您需要创建多个的JLabel然后分别添加每个JLabel放在面板。

+0

这可以帮助我很多!感谢你的帮助! – tdel

+0

@tdel,很高兴帮助。不要忘记通过点击勾选让人们知道这个问题已经解决了“接受”的答案。 – camickr

相关问题