2

我正在尝试将 2 个面板添加到一个面板中。现在的问题是,当我单独添加第一个或第二个时,我可以在面板中看到它们。但是当我将它们都添加时(将 //add(panel2, BorderLayout.SOUTH); 置之不理)我看不到它们中的任何一个。Weblabel("Test") 始终显示。现在两个面板都有一个 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();
}

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

4

1 回答 1

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);
于 2013-10-30T07:11:20.817 回答