博為峰小博老師:
JavaSwing組件不能直接添加到頂層容器中,它必須添加到一個(gè)與Swing頂層容器相關(guān)聯(lián)的內(nèi)容面板(ContentPane)上。內(nèi)容面板其實(shí)就是一個(gè)中間容器,它是一個(gè)輕量級(jí)組件。基本規(guī)則如下:
l把Swing組件放入一個(gè)與頂層Swing容器相聯(lián)系的內(nèi)容面板上。
l避免使用非Swing的重量級(jí)組件。
然而在JFrame頂層容器中添加中間組件和基本組件有兩種方式:
l一種方式是用getContentPane()方法獲得JFrame的內(nèi)容面板,再在這個(gè)內(nèi)容面板中添加組件,方法為frame.getContentPane().add(childComponent)。
l另一種方式是首先建立一個(gè)JPanel或JDesktopPane之類的中間容器,把組件添加到容器中,然后再用setContentPane()方法把該容器設(shè)置為JFrame的內(nèi)容面板。
下圖將通過(guò)表格的形式將這兩種方法列舉出來(lái),如下圖所示: