最近在写一个Swing的东西,用到了cardlayout,但却在进行切换的时候出现了
的异常,看了一下代码,是将Jframe设为cardlayout的,但是在
就可以用了。
Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: wrong parent for CardLayout
的异常,看了一下代码,是将Jframe设为cardlayout的,但是在
cardLayout.show(this, "play");
的时候出现 wrong parent for Cardlayout,究竟是怎么回事呢?
然后我将代码改为
cardLayout.show(this.getContentPane(), "play");
就可以用了。
具体原理我也不清楚,但是我认为是跟Swing的结构有关,因为在Swing中 组件不是直接填加在Jframe上
先推荐看一个帖子Jframe的层次结构 Java 8 司马大婶写的,是个前辈,至少是我的前辈。
Jframe中又个contentpanel,就是 满是组件的那个面板,add()方法添加的组件其实是添加到