博为峰小博老师:
JavaSwing组件不能直接添加到顶层容器中,它必须添加到一个与Swing顶层容器相关联的内容面板(ContentPane)上。内容面板其实就是一个中间容器,它是一个轻量级组件。基本规则如下:
l把Swing组件放入一个与顶层Swing容器相联系的内容面板上。
l避免使用非Swing的重量级组件。
然而在JFrame顶层容器中添加中间组件和基本组件有两种方式:
l一种方式是用getContentPane()方法获得JFrame的内容面板,再在这个内容面板中添加组件,方法为frame.getContentPane().add(childComponent)。
l另一种方式是首先建立一个JPanel或JDesktopPane之类的中间容器,把组件添加到容器中,然后再用setContentPane()方法把该容器设置为JFrame的内容面板。
下图将通过表格的形式将这两种方法列举出来,如下图所示: