setContentPane来源于接口RootPaneContainer,实现这个接口的类有JApplet, JDialog, JFrame, JInternalFrame, JWindow。setContentPane方法是在RootPane上放置一个存放组件的容器,这个容器是必须要的。就你的例子来说,就是存放buttonGroup、checkBox的容器

解决方案 »

  1.   

    这里JFrame也是一个容器,能不能不要Panel,直接将CheckBox放到JFrame上
      

  2.   

    可以的。但是为了布局的需要一般都放在一个Panel中。
    但无论什么放到顶级容器的时候,必须得到存放的容器。
    可以
    setContentPane(pane);
    or
    getContentPane.add(pane);
      

  3.   

    no much difference with getContentPane() and then lay components on that.
    only for convenience