技多不压身。最近由于一些原因,又学习了下JSwing。具体来说是给人搞了两个基于JSwing的小型系统。
1JSwing和JFC的关系:
JFC consists of AWT, Swing, Accessibility, Java 2D, and Drag and Drop.
2 18个相关的包:
- javax.accessibility
- javax.swing
- javax.swing.border
- javax.swing.colorchooser
- javax.swing.event
- javax.swing.filechooser
- javax.swing.plaf
- javax.swing.plaf.basic
- javax.swing.plaf.metal
- javax.swing.plaf.multi
- javax.swing.plaf.synth
- javax.swing.table
- javax.swing.text
- javax.swing.text.html
- javax.swing.text.html.parser
- javax.swing.text.rtf
- javax.swing.tree
- javax.swing.undo
一、 什么是Java Swing
Swing 是一个用于开发Java图形界面应用程序的开发工具包,它是以抽象窗口工具包(AWT:Abstract Window Toolkit)为基础,使跨平台应用程序可以使用任何可插拔的外观风格。
通常把AWT控件称为重量级控件,而把Swing控件称为轻量级控件。
二、 Swing组件的层次结构
Swing组件可以分成两种类型,一种是JComponent类,另一种是Window类。两者的区别是JComponent组件类主要包括一些不能独立显示的组件(即必须依赖于中间容器才能显示),而Window组件类主要包括了一些可以独立显示的组件。鉴于此,可以讲Swing的组件分为三种类型:顶层组件、中间组件、基本组件,如下图:
顶层容器(即Window组件):JFrame、JApplet、JDialog、JWindow;
中间容器:JPanel、JScrollPane、JSplitOPane、JToolBar;这些容器可以充当载体,但也是不可以独立显示的组件,必须依附在顶层容器内;
特殊容器:在GUI上起特殊作用的中间层,如JInternalFrame、JLayeredPane等;
基本组件:实现人机交互的组件,如JButton、JComboBox、JList、JMenu、JTextField。
三、 关于三层组件
1、 当进行图形编程时,需要一个能够提供图形绘制的容器(即顶层容器),可以将它想象称为一个窗口,它是进行图形编程的基础,一切图形的东西都必然包括在顶层容器中。
2、 可以作为顶层容器的三种组件:
JFrame:类似于Windows系统中窗口形式的应用程序;
JDialog:和JFrame类似,用于设计对话框;
JApplet:用于设计可以嵌入在网页中的小程序。
3、 基于Swing的图形界面至少要有一个顶层容器,每一个顶层容器都有一个内容面板,同时可以为顶层容器添加菜单组件。
剩下的便是向内容面板或菜单组件中添加一些基本组件,这些组件的使用相对简单,其中JTree和JTable较难