swing包概览
swing由许多包组成,下表列出了这些包
swing包
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
包 描述
─────────────────────────────────
com.sun.java.swing.plaf.motif 用户界面代表类,它们实现motif界面样式
com.sun.java.swing.plaf.windows 用户界面代表类,它们实现windows界面样式
javax.swing swing组件和实用工具
javax.swing.border swing轻量组件的边框
javax.swing.colorchooser jcolorchooser的支持类/接口
javax.swing.event 事件和侦听器类
javax.swing.filechooser jfilechooser的支持类/接口
javax.swing.pending 未完全实现的swing组件
javax.swing.plaf 抽象类,它定义ui代表的行为
javax.swing.plaf.basic 实现所有标准界面样式公共功能的基类
javax.swing.plaf.metal 用户界面代表类,它们实现metal界面样式
javax.swing.table jtable组件的支持类
javax.swing.text 支持文档的显示和编辑
javax.swing.text.html 支持显示和编辑html文件
javax.swing.text.html.parser html文件的分析器类
javax.swing.text.rtf 支持显示和编辑rtf文件
javax.swing.tree jtree组件的支持类
javax.swing.undo 支持取消操作
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
swing包是swing提供的最大包,它包含将近100个类和25个接口。几乎所有的swing组件都在swing包中,只有jtableheader和jtextcomponent是例外,它们分别在swing.table包和swing.text包中。
swing.border包中含有数个在轻量swing组件的边衬中画边框的类。border包由一个border接口、一个abstractborder类和abstractborder的许多具体扩展组成。
swing.event包中定义了事件和事件监听器类,swing.event包与awt的event包类似。awt.event和swing.event都包含事件类和监听器接口,它们分别响应由awt组件和swing组件激发的事件。例如,当在树组件中需要节点扩展(或折叠)的通知时,则要实现swing的treeexpansionlistener接口,并把一个treeexpansionevent实例传送给treeexpansionlistener接口中定义的方法。treeexpansionlistener和treeexpansionevent都是在swing.event包中定义的。
swing.pending包包括仍没有完全实现的swing组件。在swing1.1 fcs中,pending包包含选择器(日期、货币选择器)计算器、弹出式按钮等等。pending包中的组件最终会放到swing包中。
虽然swing的表格组件(jtable)在swing包中,但它的支持类却在swing.table包中。表格模型、单元绘制器和编辑器等都在swing.table包中。
与jtable类一样,swing的树类jtree(用于按层次组织数据的结构组件)也在swing包中,而它的支持类却在swing.tree包中。swing.tree包提供树模型、树节点、树单元编辑器和绘制器等支持类。
swing有四个用于显示和编辑文档的包:swing.text、swing.text.html、swing.text.html.parser和swing.text.rtf。swing.text包为swing的文档模型提供了所有必须的下层构件。包括用于文档、元素、加字符、增亮、编辑工具包等的类和接口。swing.text.html和swing.text.rtf包是swing最小的两个包:它们分别提供用于实现html(超文本标记语言)和rtf(多文本格式)文档编辑器的编辑器工具包。swing.text.html.parser包中含有分析html文件的支持类。
swing.undo包为实现取消操作提供支持。
swing.plaf包中的类形成了swing插入式界面样式的ui代表部分的基础。ui代表为它们的相关组件实现界面模式。
swing.plaf包中的大多数类定义ui资源或扩展swing.componentui类。swing.componentui类定义所有ui代表的公共行为。在swing.plaf包中的ui代表类(即名字以ui结尾的类)通常为特定的组件定义附加的抽象方法。例如,swing.plaf.buttonui类扩展swing.componentui类并添加了抽象方法getdefaultmargin(),该方法返回按钮边框与按钮内容之间的间距。
swing.plaf.basic包扩展在swing.plaf包中定义的类,并且实现所有标准swing界面样式共有的特性。例如:swing.plaf.basic.basicbuttonui类提供了swing.componentui类和swing.plaf.buttonui类定义的一些方法的缺省实现。basicbuttonui类还为paint等方法提供了多个不同的实现(paint方法绘制按钮的文本和图标)。basicbuttonui还以无操作形式实现其他与界面样式有关的方法,如paintbuttonpressed()方法。这些方法将被特定的界面样式扩展所重载。
metal和motif包实现相应界面样式的ui代表类。通常,ui代表类扩展swing.plaf.basic包中的类。例如,metal.buttonui类重载swing.plaf.basic.buttonui类中的paintbuttonpressed方法的无操作实现。
swing.plaf.multi包支持界面样式复用。界面样式复用允许多个ui代表与一个组件相关联。例如。一个按钮ui代表可能同时与一个视觉ui代表和一个音频ui代表相关联,这样,当这个按钮被激活时,不难能产生可视的反馈信息,还能播放一个声音。ui复用的主要用途是使组件更具可访问性。
swing还提供了其他两种界面样式实现,即mactintosh和organic的界面样式。
闽公网安备 35060202000074号