我正在尝试将 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();
}
已解决:重新初始化额外的面板并且有效:)
最佳答案
因为您需要面板包含两个面板?试试这个
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);
关于Java Swing 无法向面板添加多个面板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19675854/