有点乱了:JAVA Swing的基础问题

FengPrince 2012-09-28 05:10:29
使用的是Absolute JAVA 5th英文版电子书教程。
学了一些GUI编程的皮毛。

书上直接使用顶层容器JFrame来添加Swing组件,可我在网上看到这样的说法:
“Swing组件不能直接添加到顶层容器中,它必须添加到一个与Swing顶层容器相关联的内容面板(content pane)上;
不能对顶层容器进行直接布局”

可为什么书上使用JFrame对象的add()方法和setLayout()方法没有问题呢??
好像只有在setBackground()方法调用时才需要使用getContentPane()!!

Absolute JAVA书是最新的,包括了JAVA7。

难道网上的说法是以前的,对JAVA7不适用了??

求高手指点,谢谢!!
...全文
178 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
FengPrince 2012-09-28
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

JDK 1.4中JFrame的add()方法addSwing控件会不成功,JDK1.5好了。

我一般为了使软件能在各个版本上都顺利运行,还是getContentPane()后,再addSwing控件。
[/Quote]
这个回答正是我想要滴,谢谢。。。
nj_dobetter 2012-09-28
  • 打赏
  • 举报
回复
JDK 1.4中JFrame的add()方法addSwing控件会不成功,JDK1.5好了。

我一般为了使软件能在各个版本上都顺利运行,还是getContentPane()后,再addSwing控件。
FengPrince 2012-09-28
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

Sun当时为了方便一部分不适应swing的javaer,提供了add这个快捷方法
[/Quote]
谢了。。。
huntor 2012-09-28
  • 打赏
  • 举报
回复
Sun当时为了方便一部分不适应swing的javaer,提供了add这个快捷方法
FengPrince 2012-09-28
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

JFrame的add是将控件添加到了content pane上了,新人不用太追求这个,只要你会用能搞出东西就行了,重点是软件功能实现。
[/Quote]
你说的意思是JFrame对象直接调用add()相当于以前的getContentPane().add(),这样理解对吗??
  • 打赏
  • 举报
回复
JFrame的add是将控件添加到了content pane上了,新人不用太追求这个,只要你会用能搞出东西就行了,重点是软件功能实现。
jch470009522 2012-09-28
  • 打赏
  • 举报
回复
顶一下 同等高手来恢复~~~

62,635

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧