首先。。。我想说的是,我对使用卡片布局不感兴趣。。。除非有必要(这意味着不使用卡布局会导致不必要的变通方法和复杂的代码)。这毕竟是为了学习,无论如何,我很快就会研究卡片布局。。。
好的,我的问题是相当基本的GUI布局。我的代码不起作用,整个布局让我很困惑。。。
我遇到了麻烦,如何在JPanels之间进行转换,如下所示:
我有一扇窗户。我按下一个按钮,旧的窗口被另一个窗口取代了。我按下一个按钮,那个窗口就会被另一个窗口取代。
我想补充一点,在下面的例子中,我跳过了很多不相关的代码。。。
我从JFrame:开始
public class StartWindow extends JFrame{
public StartWindow(){
//Add JButton & ActionListener
//When the button is pressed:
add(new NextWindow());
}
public static void main(String [] args){
new StartWindow();
}
}
然后我有几个JPanels。。。
public class NextWindow extends JPanel{
public NextWindow(){
//Add a JButton & ActionListener
//When the button is pressed:
add(new NextWindow2());
remove(this);
//This does not work. Nothing happens.
}
}
public class NextWindow2 extends JPanel{ // Stuff and so on}
所以,我想知道一个正确的方法来处理这种情况!
您正在为自己添加一个面板。您需要从JFrame中移除面板,将新面板添加到其中,并在JFrame上调用revalidate()。