首先...我想说的是,我对使用卡布局不感兴趣...除非有必要(这意味着不使用卡布局将导致不必要的解决方法和复杂的代码)。毕竟这是出于学习目的,无论如何我将尽快调查卡片布局...

好的,我的问题是我猜很基本的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()。

09-10 15:33
查看更多