Swing cardlayout wrong parent for CardLayout问题
来源:互联网 发布:富士通扫描仪软件 编辑:程序博客网 时间:2024/04/30 21:30
最近在写一个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()方法添加的组件其实是添加到了contenpanel上,那么反过来说,组件的parent其实contentpanel。所以在上面会出现上面的问题。show()方法的说明
void java.awt.CardLayout.show(Container parent, String name)Flips to the component that was added to this layout with the specified name, using addLayoutComponent. If no such component exists, then nothing happens.Parameters:parent the parent container in which to do the layoutname the component nameSee Also:java.awt.CardLayout.addLayoutComponent(java.awt.Component, java.lang.Object)
第一个参数是响应布局的父容器。
因为Swing的层次结构是这样,所以出现了wrong parent的问题。
以上纯属个人的理解与看法,有任何不对的地方还请指出,多谢。小弟不胜感激~~
- Swing cardlayout wrong parent for CardLayout问题
- CardLayout
- CardLayout
- Ext:cardlayout的一些问题
- Swing代码分析(布局-CardLayout)
- java Swing布局管理器之CardLayout布局
- Java - swing - 图形界面间的切换( CardLayout )
- CardLayout类
- CardLayout布局
- CardLayout.show的显示问题(JAVA )
- swing学习笔记十一(卡片布局管理器CardLayout )
- java 的cardlayout实例
- cardLayout小应用
- GUI 布局 CardLayout
- CardLayout(显示图片)
- CardLayout的小应用
- Java Layout总结-CardLayout
- 卡片布局(CardLayout)
- 反思: 为什么我连普通的程序都写不好?
- 指针
- 苹果申请可触摸柔性屏幕专利:iWatch即将来临
- Emacs gdb 配置和使用
- 图像分割之(五)OpenCV的GrabCut调用
- Swing cardlayout wrong parent for CardLayout问题
- Hibernate 第五讲 数据库Id生成策略 (4)
- 我遇到的JAVA异常和解决方法
- 杭电ACM HDU 1031 Design T-Shirt
- iOS开发那些事-iOS常用设计模式–委托模式
- Hibernate 第五讲 数据库Id生成策略 (5)
- hdu1032水
- 算法--桶排序
- Android 笔/面题目