在父JPanel中显示添加的JPanel

Abh*_*nav 3 java swing jpanel layout-manager cardlayout

如何JPanel在父母中添加可见内容JPanel

我正在使用Netbeans来设计我的UI.

我有一个MainFrame.java,包含两个面板; 即headerPanelbodyPanel.

headerPanel我已经放了三个按钮,让它成为button1,button2button3.

此外,我创建了三个单独的文件扩展JPanel,命名panel1,panel2panel3.

然后我说我的所有三个面板内bodypanelMainFrame.java在构造函数.

bodyPanel.add(panel1);
bodyPanel.add(panel2);
bodyPanel.add(panel3);
Run Code Online (Sandbox Code Playgroud)

我想上点击相应的按钮,只有相应的面板应该出现在bodypanel大型机,也就是说,如果我点击button1然后panel1应显示.

我已经在button1鼠标侦听器方法中尝试了以下代码:

bodyPanel.validate();
bodyPanel.getComponent(0).setVisible(true);
Run Code Online (Sandbox Code Playgroud)

但是panel1没有出现.我这样做是因为面板中添加的组件被分配了索引.所以首先我尝试获取组件然后使其可见.那没起效.

And*_*son 6

使用CardLayout,如图所示这里.

游戏视图 高分视图