做的JPanel,以填补在GridBagLayout的整个空间中的Java
请参考上面的图片,我的内容面板JPanel窗体将改变此基础上被点击导航栏面板上的按钮。在我的内容面板中有一个桌面窗格。这是我对按钮的一个代码:
Panel1 = p1;
Panel2 = p2;
Panel3 = p3;
Panel4 = p4;
Panel5 = p5;
public MainFrame() {
initComponents();
GridBagLayout gbLayout = new GridBagLayout();
p1 = new Panel1();
p2 = new Panel2();
p3 = new Panel3();
p4 = new Panel4();
p5 = new Panel5();
desktop.setLayout(gbLayout);
desktop.add(p1);
desktop.add(p2);
desktop.add(p3);
desktop.add(p4);
desktop.add(p5);
}
private void btn1Performed(java.awt.event.ActionEvent evt) {
pnl1.setVisible(true);
pnl2.setVisible(false);
pnl3.setVisible(false);
pnl4.setVisible(false);
pnl5.setVisible(false);
}
我还发现,我只能用GridBagLayout的得到这个结果,但我的JPanel窗体不会填满整个内容面板中,我也试着将布局更改为边界布局,我将填充整个内容面板结果,但在按钮单击时显示JPanel表单时会出现问题,JPanel表单将不会使用边框布局显示。
基于'btn1Performed'操作,我建议你看看'CardLayout' – MadProgrammer