我有三个类一个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组织组件,请使用布局管理器或它们的组合,以及用于空白区域的布局填充和边框。 –