疯狂java


您现在的位置: 疯狂软件 >> 新闻资讯 >> 正文

Swing组件层次—[疯狂java讲义]


 

Swing组件层次
 
        大部分Swing组件都是JComponent抽象类的直接或间接子类(并不是全部Swing组件都是),JComponent类定义了所有子类组件的通用方法,JComponent类是AWT里Java.awt.Container类的子类,这也是AWT和Swing的联系之一。绝大部分Swing组件类继承了Container类,所以Swing组件都可作为容器使用(JFrame继承了Frame类)
 
        其中JWindow与AWT中的Window相似,通常没有太大的实用价值。读者不难发现这些Swing组件的类名和对应AWT组件的类型也基本一致,只要在原来的AWT组件类型前添加“J”即可,但有如下几个例外:
 
1、JComboBox:对应于AWT里的Choice组件,但比Choice组件功能亘丰富。
2、JFileChooser:对位于AWT里的FileDialog组件。
3、JSrcoIIBar:对应AWT里的Scrollbar,注意两个组件类名中b字母的大小写差别。
4、JCheckBox:对应于AWT里的Checkbox,注意两个组件类名中b字母的大小写差别。
5、JCheckBoxMenu Item:对应于AWT里的CheckboxMenu Item,注意两个组件类名中b字母的大小写差别。
 
         上面JCheckBox和JCheckBoxMenuItem与Checkbox和CheckboxMenuItem的差别主要是由早期Java命名不太规范造成的。
 
         Swing中包含了四个组件直接继承了AWT组件,而不是从JComponent派生出来的,它们分别是:JFrame、JWindow、JDialog和JApplet,它们并不是轻量级组件,而是重量级组件(需要部分委托给运行平台上GUI组件的对等体)。
 
将Swing组件按功能来分,又可分为如下几类:
 
1、顶层容器:JFrame, JApplet, JDialog和JWindow(几乎不会使用)。
2、中间容器:JPanel, JScrollPane, JSplitPane, JTooIBar等。
3、特殊容器:在用户界面上具有特殊作用的中间容器,如JlnternalFrame、JRootPane、JLayeredPane和JDestopPane等。
4、基本组件:实现人机交互的组件,如Mutton、 JComboBox、Just, Menu、Mider等。
5、不可编辑信息的显示组件:向用户显示不可编辑信息的组件,如JLabel、JProgressBar和JTooITip等。
6、可编辑信息的显示组件:向用户显示能被编辑的格式化信息的组件,如JTable、JTextArea和JTextField等。
7、特殊对话框组件:可以直接产生特殊对话框的组件,如JColorChoosor和JFileChooser等。(摘自[疯狂java讲义])