/**
*
Title:swing概观
*
Description: swing初步知识
*
Copyright: eclipse (c)
*
Company:unix
*/
一swing的概观
swing是目前java不可或缺的窗口工具组在swing尚未推出之前写java窗口必须使用AWT(abstract window toolkit)包AWT没有弹性可言具体表现在不能随意改变组件外观等本课程主要讲解swingAWT免谈
swing中只有JFrameJDialogJWindow与JApplet不是纯java所写成其余组件和事件响应方法均为纯java所写
二swing结构
swing原先是利用MVC(modelviewcontroller)的概念衍生而成这个模式应用在smalltalk语言上MVC概念如下
model:存储组件数据的地方如JChockBox中的model将存储所有选项的值并以boolean值来表示JTable的model则存储所有表格上的数据
view:显示组件的外观
controller:处理用户组件的操作并写改变存储在model中
MVC图形表示
view
|
controller
|
model
MVC已经具有清楚的模块结构因此swing在设计上遵循这样的概念但作了一些改变原先独立的view和controller在swing中被合并在一起称为UI(UIdeldgate)界面因为swing的发展小组认为这两者关系紧密分开设计会增加难度
MUI结构图
UIdelegate
|
model
不论swing的结构如何设计swing中的model均可分成三个种类
第一种存储组件内部将被用来操作的数据如tableModeland so on
第二种存储控制组件操作模式的数据如JList等
第三种存储组件本身性质的数据模式如JSlider等
三swing中常用的package
package comments
javaxswing 最常用的package里面包含和各种swing组件的类
javaxswingborder 包含与swing组件外框有关的类
lorchoser 针对与swing组件外框有关的类
javaxswingevent 处理由swing组件产生的事件有别于AWT事件
javaxswingfilechooser 包含针对swing文件选择对话框JFileChooser所设计的类
javaxswingplaf 处理swingx组件外观的相关类
javaxswingplafbasic 同
tal 同
javaxswingplafmulti 同
javaxswingtable 针对swing表格组件JTable所设计的类
javaxswingtext 包含与swing文字框有关的类
l 同
lparser 同
javaxswingtextrtf 同
javaxswingtree 包含swing 树状无件JTree所设计的类
javaxswingundo 包含与swing文字组件Redo或Undo的功能
思考
试说明swing的组件设计的理念以及优于AWT的原因?
试说明swing的结构概念
为什么将swing的view与controller合在一起这样有什么用 :)
****大家可以跟贴回答以及得问