java JFrame的一些随笔。

关于JFrame中的两个方法setContentPane()和getContentPane()的应用

       我们可以在 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的内容面板:


    JPanel  contentPane=new  JPanel();
    ……//把其它组件添加到Jpanel中;
    frame.setContentPane(contentPane);
    //把contentPane对象设置成为frame的内容面板

JFrame和Frame的区别

JFrame继承自Frame,但是JFrame不能通过add方法直接添加组件,因为JFrame
不是一个容器而是一个框架,如果想要添加组件到JFrame,可以通过getConten
tPane()方法得到JFrame的content pane,到这里新的问题来了:什么是conte
nt pane呢?其实content pane是一个容器,它包含了所有的框架(除了菜单栏
)。每个JFrame的content pane都有包含了这个窗口所能显示的所有组件。那么
getContentPane()这个方法怎么使用呢?这里通过示例代码来解释:
JFrame jf = new JFrame("myJFrame");
Container c = jf.getContentPane();//创建一个容器,方便向框架内添加组件
c.add(你所想添加的东西);
或者通过它对应的方法setContentPane()方法来设置content pane:
JFrame jf = new JFrame("myJFrame");
JPanel jp = new JPanel();
jf.setContentPane(jp);

转载于:https://www.cnblogs.com/GooDBoyS/p/9846777.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值