javaSwing_4Swing的类库
一、Swing的层次结构:
Swing组件可以分成两种类型,一种是JComponent类(此类的子类都是轻量级组件),另一种是Window类。两者的区别是JComponent组件类主要包括一些不能独立显示的组件(即必须依赖于中间容器才能显示),而Window组件类主要包括了一些可以独立显示的组件。鉴于此,可以讲Swing的组件分为三种类型:顶层组件、中间组件、基本组件,如下图:
顶层容器(即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类的子类都是轻量级组件。
- JLable 负责创建标签
- JMenu 负责创建菜单对象
- JMenuItem 负责创建菜单项对象
- JPanel 负责创建面板对象
- JPasswordField 负责创建口令文本框对象
- JPopupMenu 负责创建弹出式菜单
- JProgressBar 负责创建进程条
- JRadioButton 负责创建单选按钮
- JScrollBar 负责创建滚动条
- JScrollPane 负责创建滚动窗格
- JSlider 负责创建滑动条
- JSplitPane 负责创建拆分窗格
- JTable 负责创建表格
- 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 //顶级容器
布局管理器
- AbsoluteLayout 绝对布局
- BorderLayout 边界布局
java.awt.BorderLayout
- FlowLayout 流式布局
java.awt.FlowLayout
- GridLayout 网格布局
java.awt.GridLayout
- GridBagLayout
java.awt.GridBagLayout
- CardLayout 卡片布局
java.awt.Layout.CardLayout
- BoxLayout 箱式布局
javax.swing.BoxLayout
- OverlayLayout
javax.swing.OverlayLayout
- ScrollPaneLayout
javax.swing.ScrollPaneLayout
- ViewportLayout
javax.swing.ViewportLayout
- JGoodies FormLayout
com.jgoodies.forms.layout.FormLayout
- MigLayout
net.miginfocom.layout.MigLayout
- GroupLayout 网格布局
javax.swing.GroupLayout