javaSwing_4Swing的类库

 一、Swing的层次结构:


javaSwing_4Swing的类库

Swing组件可以分成两种类型,一种是JComponent类(此类的子类都是轻量级组件),另一种是Window类。两者的区别是JComponent组件类主要包括一些不能独立显示的组件(即必须依赖于中间容器才能显示),而Window组件类主要包括了一些可以独立显示的组件。鉴于此,可以讲Swing的组件分为三种类型:顶层组件、中间组件、基本组件,如下图:

javaSwing_4Swing的类库

顶层容器(即Window组件):JFrame、JApplet(比较过时了了)、JDialog、JWindow;

中间容器:JPanel、JScrollPane、JSplitPane、JToolBar;这些容器可以充当载体,但也是不可以独立显示的组件,必须依附在顶层容器内;

特殊容器:在GUI上起特殊作用的中间层,如JInternalFrame、JLayeredPane等;

基本组件:实现人机交互的组件,如JButton、JComboBox、JList、JMenu、JTextField。

二、类库

Swing类库位于javax.swing包中:

JComponent类

JComponent类是java.swt包中容器类java.awt.Container类的子类,JComponent类的子类都是轻量级组件

  1.     JLable            负责创建标签
  2.     JMenu            负责创建菜单对象
  3.     JMenuItem        负责创建菜单项对象
  4.     JPanel            负责创建面板对象
  5.     JPasswordField    负责创建口令文本框对象
  6.     JPopupMenu        负责创建弹出式菜单
  7.     JProgressBar    负责创建进程条
  8.     JRadioButton    负责创建单选按钮
  9.     JScrollBar        负责创建滚动条
  10.     JScrollPane        负责创建滚动窗格
  11.     JSlider            负责创建滑动条
  12.     JSplitPane        负责创建拆分窗格
  13.     JTable            负责创建表格
  14.     JTree            负责将分层数据显示为轮廓的控件

类的层次展示:

java.lang.Object
    java.awt.Component
        java.awt.Comtainer
            javax.swing.JComponent
                
                javax.swing.JPanel            //一般用腿的中间容器
                javax.swing.JScrollPane        //一般用腿的中间容器
                javax.swing.JSplitPane        //一般用腿的中间容器
                javax.swing.JTabbedPane        //一般用腿的中间容器
                javax.swing.JToolBar        //一般用腿的中间容器

                javax.swing.JInternalFrame    //专用中间容器
                javax.swing.JLayyeredPane    //专用中间容器
                javax.swing.JRootPane        //专用中间容器

            java.awt.Panel
                java.applet.Applet            //顶级容器
                    javax.swing.JApplet
            java.awt.Window
                java.awt.Dialog                //顶级容器
                    javax.swing.JDialog
                java.awt.Frame                 //顶级容器
                    javax.swing.JFrame
                java.swing.JWindow            //顶级容器

布局管理器

  1. AbsoluteLayout 绝对布局


  2. BorderLayout 边界布局

    java.awt.BorderLayout


  3. FlowLayout 流式布局

    java.awt.FlowLayout


  4. GridLayout 网格布局

    java.awt.GridLayout


  5. GridBagLayout

    java.awt.GridBagLayout


  6. CardLayout 卡片布局

    java.awt.Layout.CardLayout


  7. BoxLayout 箱式布局

    javax.swing.BoxLayout


  8. OverlayLayout

    javax.swing.OverlayLayout


  9. ScrollPaneLayout

    javax.swing.ScrollPaneLayout


  10. ViewportLayout

    javax.swing.ViewportLayout


  11. JGoodies FormLayout

    com.jgoodies.forms.layout.FormLayout


  12. MigLayout

    net.miginfocom.layout.MigLayout


  13. GroupLayout 网格布局

    javax.swing.GroupLayout