如何使添加的JPanel
在父JPanel
内部可见?
我正在使用Netbeans设计我的UI。
我有一个MainFrame.java
,其中包含两个面板;即headerPanel
和bodyPanel
。
在headerPanel
中,我放置了三个按钮,分别为button1
,button2
和button3
。
此外,我还创建了三个扩展了JPanel
的文件,分别命名为panel1
,panel2
和panel3
。
然后,我将所有三个面板添加到构造函数中bodypanel
的MainFrame.java
内。
bodyPanel.add(panel1);
bodyPanel.add(panel2);
bodyPanel.add(panel3);
我希望在单击相应按钮时,大型机中的
bodypanel
中应仅出现相应的面板,即如果我单击button1
,则应显示panel1
。我已经在
button1
鼠标侦听器方法中尝试了以下代码:bodyPanel.validate();
bodyPanel.getComponent(0).setVisible(true);
但是
panel1
没有出现。我这样做是因为在面板中分配的组件分配了索引。因此,我首先尝试获取组件,然后使其可见。它不起作用。 最佳答案
使用CardLayout,如图here所示。