关于setContentPane()和getContentPane()的应用
我们可以在JFrame对象中添加AWT或者Swing组件。但是,虽然它有添加方法,却不能直接用于添加组件,否则会抛出异常 - 不信就试试。造成这个现象的原因只有一个解释:JFrame不是一个容器,它只是一个框架。那么,应该怎么添加组件呢?
JFrame有一个内容窗格,窗口能显示的所有组件都是添加在这个内容窗格中.JFrame提供了两个方法:getContentPane和setContentPane就是用于获取和设置其内容窗格的。
对JFrame添加组件有两种方式:
1)用getContentPane()方法获得JFrame的内容面板,再对其加入组件:frame.getContentPane()。add(childComponent)
2)建立一个Jpanel或JDesktopPane之类的中间容器,把组件添加到容器中,用setContentPane()方法把该容器置为JFrame的内容面板:
JpanelcontentPane = newJpanel();
...... //把其它组件添加到JPanel的中;
frame.setContentPane(的contentPane);
//把contentPane的对象设置成为帧的内容面板