2013-10-30 79 views
2

我试图将2个面板添加到一个面板。现在的问题是,当我单独添加第一个或第二个时,我可以在面板中看到它们。 但是,当我加入他们(把/ /添加(panel2,BorderLayout.SOUTH);从评论)我没有看到他们中的任何一个。 Weblabel(“测试”)总是显示。 现在,这两个面板都有一个onclick方法,当你看不到它们时(如果它们都被添加了),如果你点击面板应该在的位置,onclick仍然有效。Java Swing无法将多个面板添加到面板

我已经尝试过其他layoutmanagers但没有成功。有谁知道这个问题可能来自哪里?

setLayout(new BorderLayout()); 
add(panel1,BorderLayout.NORTH); 
add(new WebLabel("Test"), BorderLayout.CENTER); 
//add(panel2,BorderLayout.SOUTH); 

我在我的构造函数中初始化这两个面板。

public MultipleFloorPlanEntityPanel(int xCoordinate, int yCoordinate, FloorPlanEntityPanel panel1, FloorPlanEntityPanel panel2){ 
    this.xCoordinate = xCoordinate; 
    this.yCoordinate = yCoordinate; 
    this.panel1 = panel1; 
    this.panel2 = panel2; 
    layoutComponents(); 
} 

解决:重新初始化额外的面板和工作:)

+0

请,告诉你如何初始化** PANEL1 **和** **是Panel2,我觉得问题在它 – alex2410

+0

欢迎SO,B13ZT!请不要在标题中添加(解决),而是点击您想要接受的答案上的复选标记。这将有助于未来的用户找到解决方案(并且搜索引擎可以使用该信息)。 –

回答

2

,因为你需要面板包含两个面板?试试这个

JPanel top = new JPanel(new GridLayout(1,1)) 
JPanel left = new JPanel(); 
JPanel right = new JPanel(); 
top.add(left); 
top.add(right); 
JFrame frame = new JFrame(); 
frame.add(top); 
frame.setSize(400,400); 
frame.setVisible(true);