做的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