首先...我想说的是,我对使用卡布局不感兴趣...除非有必要(这意味着不使用卡布局将导致不必要的解决方法和复杂的代码)。毕竟这是出于学习目的,无论如何我将尽快调查卡片布局...
好的,我的问题是我猜很基本的GUI布局。我的代码无法正常工作,整个布局使我非常困惑。
我在如何在这样的JPanel之间进行转换时遇到了麻烦:
我有一扇窗户。我按下一个按钮,旧窗口被另一个窗口替换。我按下一个按钮,该窗口将被另一个窗口替换。
我想补充一点,我在下面的示例中跳过了许多不相关的代码...
我从一个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()。