我有三個類一個JFrame類和兩個JPanel類。我已經加入了INTIAL的JPanel到JFrame像這樣如何切換不同類的JPanel
public JFrame() {
add(new 1stPanel(this));
setVisible(true);
setLayout(null);
}
然後我想在按鈕中使用一個ActionListener在第1小組將其刪除,並添加其他面板這是另一個類。我試圖給每個類變量和使用簡單的remove(),並添加()這樣的:
private 1stpanel 1p;
private 2ndpanel 2p;
btn.addActionListener((new ActionListener(){
public void actionPerformed(ActionEvent e)
{
remove(1p);
add(2p);
validate();
repaint();
}
}));
不工作我已經使用JFrame.remove(1P),也試過,但還是不行無論是。當我removeAll()它擺脫了1stpanel JPanel中的所有內容,但是我無法添加第二面板。 我可以使用什麼代碼取出第一個面板或1stpanel類,並添加另一個類中的第二個面板。 感謝您的幫助提前。
嘗試對'yourframe.getContentPane()'' – johnchen902
'setLayout(null);''不要這樣做。 Java GUI可能需要在多種平臺上工作,使用不同的屏幕分辨率和使用不同的PLAF。因此,它們不利於組件的準確放置。要爲可靠的GUI組織組件,請使用佈局管理器或它們的組合,以及用於空白區域的佈局填充和邊框。 –