java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--java.awt.Window
                    |
                    +--javax.swing.JWindowJWindow:A JWindow is a container that can be displayed anywhere on the user's desktop. It does not have the title bar, window-management buttons, or other trimmings associated with a JFrame, but it is still a "first-class citizen" of the user's desktop, and can exist anywhere on it.
java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--java.awt.Window
                    |
                    +--java.awt.Dialog
                          |
                          +--javax.swing.JDialog
JDialog:creating a dialog window.The JDialog component contains a JRootPane as its only child. The contentPane should be the parent of any children of the JDialogjava.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--java.awt.Window
                    |
                    +--java.awt.Frame
                          |
                          +--javax.swing.JFrame
JFrame:An extended version of java.awt.Frame that adds support for the JFC/Swing component architecture.a JFrame contains a JRootPane as its only child. The content pane provided by the root pane should, as a rule, contain all the non-menu components displayed by the JFrame

解决方案 »

  1.   

    java.lang.Object
      |
      +-java.awt.Component
            |
            +-java.awt.Container
                  |
                  +-java.awt.Window
                        |
                        +-java.awt.Frame
                              |
                              +-javax.swing.JFrame
       An extended version of java.awt.Frame that adds support for the JFC/Swing component architecture.   The JFrame class is slightly incompatible with Frame. Like all other JFC/Swing top-level containers, a JFrame contains a JRootPane as its only child. The content pane provided by the root pane should, as a rule, contain all the non-menu components displayed by the JFrame. This is different from the AWT Frame case.java.lang.Object
      |
      +-java.awt.Component
            |
            +-java.awt.Container
                  |
                  +-java.awt.Window
                        |
                        +-java.awt.Dialog
                              |
                              +-javax.swing.JDialog
    The main class for creating a dialog window. You can use this class to create a custom dialog, or invoke the many class methods in JOptionPane to create a variety of standard dialogs. For information about creating dialogs.
    java.lang.Object
      |
      +-java.awt.Component
            |
            +-java.awt.Container
                  |
                  +-java.awt.Window
                        |
                        +-javax.swing.JWindow
    A JWindow is a container that can be displayed anywhere on the user's desktop. It does not have the title bar, window-management buttons, or other trimmings associated with a JFrame, but it is still a "first-class citizen" of the user's desktop, and can exist anywhere on it. 
      

  2.   

    简单的说,JWindow是一个没有边框,没有title兰的一个Frame,他一般用做启动引导界面等等,比如java的tooltip就是用JWindow做的,而JFrame就是我们常见的主程序窗口,功能做多,也是一个重量组件,而JDialog是一个轻量组件,他可以有模态(就是是否总是位于所有对象前面),一般包含与JFrame或者JWindow中,可以标志出引用者,一般用做制作参数面班和提示面班,用户交互面班