Java Swing无法向面板添加多个面板

时间:2013-10-30 07:04:22

标签: java swing jpanel

我正在尝试将2个面板添加到一个面板中。现在的问题是,当我单独添加第一个或第二个时,我可以在面板中看到它们。 但是当我添加它们时(把//添加(panel2,BorderLayout.SOUTH);没有评论)我没有看到它们中的任何一个。 Weblabel(“测试”)始终显示。 现在两个面板都有一个onclick方法,当你看不到它们时(如果它们都被添加),如果单击面板所在的位置,onclick仍然有效。

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

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();
}

已解决:重新初始化额外的面板并且有效:)

1 个答案:

答案 0 :(得分: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);