java简单问题:窗口的内容面板(getContentPane())调用问题,请教!

书上说:swing里的容器都可以添加组件,除了JPanel及其子类(如JAppelet)之外,其他的swing容器不允许把组件直接加入。1.这句话是对的错的?没理解。比如... 书上说:swing里的容器都可以添加组件,除了JPanel及其子类(如JAppelet)之外,其他的swing容器不允许把组件直接加入。

1.这句话是对的错的?没理解。
比如这段代码:
1 public class 实验
2 {
3 public static void main(String args[])
4 {
5 JFrame mw=new JFrame("我的第一个窗口");
6 mw.setSize(250,200);
7 JButton button=new JButton("我是一个按钮");
8 mw.getContentPane().add(button);
9 mw.setVisible(true);
10 }
11 }
就是第10行那有疑问:
这个语句我看懂了,每个窗口都带个内容面板,调用它
但是我直接mw.add(button)为什么也可以,上机也可以运行?
还有些别的题也是,一会add直接添加,一会又定义个Container x=getContentPane(); 然后比如f是窗口对象,f.add(x); 的
书上说不是不让调用么。。。
新手初学,getContentPane怎么用,迷糊中,望高手解答谢!满意追加!
错了,是第八行。
展开
 我来答
larrystar
2010-08-27 · TA获得超过403个赞
知道小有建树答主
回答量:188
采纳率:0%
帮助的人:256万
展开全部
直接用add添加的是因为类继承了JFrame或其子类.
如你说的窗口对象就是这种情况,该类的实例就是一个容器

另外:
Container contentPane = frame.getContentPane();
contentPane.add(button);

刚开始是有点混乱,以后会慢慢熟悉的!
Jseven_jy
2010-08-27 · TA获得超过8122个赞
知道大有可为答主
回答量:2499
采纳率:100%
帮助的人:1108万
展开全部
JFrame的add方法是从Container类基础的..

里面只要是Component对象都能add..Component是所有组件的父类..

所以里面基本上什么组件都能加..

你那书上应该就是在扯淡了吧...

getContentPane就是返回这个窗体的contentPane 对象

比如你得到后可以在里面加个button啊..什么的..也可以直接加..方式很多..
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式