myFrame.add(this);和myFrame.setContentPane(this);有什么不同
frame是JFrame的一个对象this表示一个继承了JPanel类的类的对象请问myFrame.add(this);和myFrame.setContentPane(t...
frame是JFrame的一个对象 this表示一个继承了JPanel类的类的对象
请问myFrame.add(this);和myFrame.setContentPane(this); 两句话有什么区别? 展开
请问myFrame.add(this);和myFrame.setContentPane(this); 两句话有什么区别? 展开
3个回答
展开全部
关于setContentPane()和getContentPane()的应用
------摘要:java_流子 Fab.19 2006--------
我们可以在 JFrame 对象中添加 AWT 或者 Swing 组件。但是,虽然它有 add 方法,却不能直接用于添加组件,否则会抛出异常——不信就试试。造成这个现象的原因只有一个解释:JFrame 不是一个容器,它只是一个框架。那么,应该怎么添加组件呢?
JFrame 有一个 Content Pane,窗口能显示的所有组件都是添加在这个 Content Pane 中。JFrame 提供了两个方法:getContentPane 和 setContentPane 就是用于获取和设置其 Content Pane 的。
对JFrame添加组件有两种方式:
1)用getContentPane()方法获得JFrame的内容面板,再对其加入组件:frame.getContentPane().add(childComponent)
2)建立一个Jpanel或JDesktopPane之类的中间容器,把组件添加到容器中,用setContentPane()方法把该容器置为JFrame的内容面板:
JpanelcontentPane=newJpanel();
……//把其它组件添加到Jpanel中;
frame.setContentPane(contentPane);
//把contentPane对象设置成为frame的内容面板
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/abang8114/archive/2008/02/16/2098953.aspx
------摘要:java_流子 Fab.19 2006--------
我们可以在 JFrame 对象中添加 AWT 或者 Swing 组件。但是,虽然它有 add 方法,却不能直接用于添加组件,否则会抛出异常——不信就试试。造成这个现象的原因只有一个解释:JFrame 不是一个容器,它只是一个框架。那么,应该怎么添加组件呢?
JFrame 有一个 Content Pane,窗口能显示的所有组件都是添加在这个 Content Pane 中。JFrame 提供了两个方法:getContentPane 和 setContentPane 就是用于获取和设置其 Content Pane 的。
对JFrame添加组件有两种方式:
1)用getContentPane()方法获得JFrame的内容面板,再对其加入组件:frame.getContentPane().add(childComponent)
2)建立一个Jpanel或JDesktopPane之类的中间容器,把组件添加到容器中,用setContentPane()方法把该容器置为JFrame的内容面板:
JpanelcontentPane=newJpanel();
……//把其它组件添加到Jpanel中;
frame.setContentPane(contentPane);
//把contentPane对象设置成为frame的内容面板
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/abang8114/archive/2008/02/16/2098953.aspx
参考资料: http://blog.csdn.net/abang8114/archive/2008/02/16/2098953.aspx
展开全部
Swing中,有一个入口程序Application的那个...
其他的都是Frame的...
您提到的this,一般出现在Frame中...
如果this是JPanel的一个对象的话,frame.add(this);是将这个组件,放到frame中,而frame中,默认是将组件放到ContentPane中的...
两句话有区别,但意义上,没有区别...
手写过Swing的话,会更清楚的...
强烈建议用记事本尝试一下,会有很大的收获!
其他的都是Frame的...
您提到的this,一般出现在Frame中...
如果this是JPanel的一个对象的话,frame.add(this);是将这个组件,放到frame中,而frame中,默认是将组件放到ContentPane中的...
两句话有区别,但意义上,没有区别...
手写过Swing的话,会更清楚的...
强烈建议用记事本尝试一下,会有很大的收获!
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
基本差不多
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询