1,你要看一下SWING的顶级面板和一般面板的区别,frame是一个最高级的面板,一般不能用来放置组件,只有通过getContentPane()方法来获得FRAME的内容面板才能放置组件
2,没试过,
3,javaw是运行JAVA程序是调用的JDK内部的程序,是正常的
4,DISPOSE_ON_CLOSE是退出时从内存中删除

解决方案 »

  1.   

    frame是框架,是不能直接用来add组件的,必须把组件add到容器(contentpane)里才可以。
      

  2.   

    2.使用Layout进行布局,比如FlowLayout GridLayout GridBagLayout BoxLayout等,最常用的东南西北中的那个是BorderLayout布局。
    3. dialog.dispose()只是释放dialog所占用的资源(比如屏幕),但是它仍然存在,你可以调用dialog.show()让它再出现。所以javaw.exe进程一直存在,除非你调用System.exit(0);
    这个说的是JDialog作为顶级窗口的情况。当其作为JFrame的子窗口时,出现多个JDialog是不会多出javaw.exe进程的,仍然只有JFrame的一个进程。
    4. DISPOSE_ON_EXIT类似于刚才的dialog.dispose()只是释放资源,但是这个类还存在
     而EXIT_ON_CLOSE则相当于System.exit(0);彻底退出这个javaw.exe进程