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

标签 java swing jpanel

我正在尝试将 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/

相关文章:

java - 如何获取相对路径名?

Java:使用 printf() 在同一行上进行左对齐和右对齐

属性(property)税的 Java JTextfield 输入和输出

java - 当我在 jList 中选择项目并使用 getSelectedIndex() 时,它返回 -1

java - 在使用 ScheduledExecutorService 和无延迟文件读取之间切换

java - 我无法从 jframe 调用我的方法

java - 如何使用子查询.in

java - 无法将 '0000-00-00 00:00:00' 转换为 TIMESTAMP

java - 无法将 ActionListener 添加到 JPanel?

java - 从 JPanel 内的 JButton 而非 JFrame 替换当前 JPanel