java Swing



java Swing.

Swing是由100%纯java实现的,Swing组件是由Java实现的轻量级(light-weight)组件,没有本地代码,不依赖操作系统的支持,这是它与AWT组件的组大区别
AWT组件通过与具体平台相关的对等类(Peer)实现,Swing比AWT组件具有更强的实用性。Swing在不同的平台上表现一致,并且有能力提供本地窗口系统不支持的其他特性。
Swing采用了一种MVC的设计范式,即”模型-视图-控制”(Model-View-Controller),其中模型用来保存内容,视图用来显示内容,控制器用来控制用户输入。

Swing外观感觉采用可插入的外观感觉(Pluggable Look and Feel,PL&E)
在AWT组件中,由于控制组件外观的对等类与具体平台相关,使得AWT组件总是只有与本机相关的外观。
Swing使得程序在一个平台上运行能够有不同的外观,用户可以选择自己习惯的外观

Swing的类层次结构
在javax.swing包中,定义了两种类型的组件:顶层容器(JFrame,JApplet,JDialog和JWindow)和轻量级组件
Swing组件都是AWT的Container类的直接子类和间接子类
java.awt.Component
java.awt.Container
java.awt.Window
java.awt.Frame-javax.swing.JFrame
java.awt.Dialog-javax.swing.JDialog
javax.swing.JWindow
java.awt.Applet-javax.swing.JApplet
javax.swing.Box
javax.swing.Jcomp

MVC(Model-View-Control)体系结构
Swing胜过AWT的主要优势在于MVC体系结构的普遍使用
在一个MVC用户界面中,存在三个通讯对象:模型、视图和控件
模型是指定的逻辑表示法,视图是模型的可视化表示法,而控件则指定了如何处理用户输入
当模型发生改变时,它会通知所有依赖它的视图,视图使用控件指定其相应机制

Swing的程序设计一般可按照下列流程进行
1、引入Swing包
2、选择”外观和感觉”
3、设置顶层容器
4、设置按钮和标签
5、向容器中添加组件
6、进行事件处理