1。
frame = this;    //这一行是什么意思为什么可以这样用?
                       //去掉前面JFrame frame;可否改为 JFrame frame = this;这个以你的程序来看是不能改的,因为不止一个地方要用,this就是指像自己本身一个实例的句柄喽(reference),后面方法里要用到的。2。应该是分开来写的,从来没写到一起过。知道自己写的时候不要写到一起就可以了。这种问题,我认为没有什么必要费神的。

解决方案 »

  1.   

    在这里this代表的是FileDialog,它是JFrame的子类,所以可以用这样用
    因为你的frame是在成员块外定义的,所以在整个类体里都是有效的,所以可以用JFrame frame=this;来定义Frame对象
    书上说的是对的呀,Container content = getContentPane();这句话得到的就是顶层容器frame的子容器,因此把其他对象加到该子容器中是正确的
      

  2.   

    原例子是这样的:
    Container content = getContentPane();
    content.add(openButton);
    请问这样是不是把openButton加到了顶层容器了?
      

  3.   

    晕,那是当然的。不过建议最好自己写panel( 可能会给将来的管理带来方便的 )。
      

  4.   


          try {
             UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
          } catch (Exception e) {}      addWindowListener(new WindowAdapter(){
             public void windowClosing(WindowEvent e) {
                System.exit(0);
                }
          });
    加分再问:这一部分写在成员块外为什么不行?