公司名称:西安达内科技

联系人:张 先生 (seo)

电话:029-82222601

传真:

手机:

Java基础类Swing工具介绍

发布时间:04月23日

详细说明

  达内西安Java培训机构(www.xatarena.cn)Java培训讲师表示,Java 基础类(JFC)Swing工具提供了使用Java平台创建高度可交互性图形用户界面的类。Swing是高度灵活的,但是也因此相当复杂,虽然新手能够使用Swing创建基本的图形用户界面(GUI),但是真要创建一个复杂、专业的GUI界面,你必须理解Swing的体系架构的基础,尤其是使用 Swing创建复杂、像JTable、JTree、JComboBox以及JList这样基于渲染器的组件,Swing提供的基于模型和渲染器的组件是构建高性能、可扩展GUI的关键。

  Swing体系结构

  最初Smalltalk系统的UI工具使用所谓的模型-视图-控制(MVC)模式,MVC引入这样一个概念:数据源应该同屏幕展现分开。这是一个优秀的体系设计结构,能促进代码重用和程序框架。Swing使用的是一个变体的MVC架构。

  典型的Swing GUI组件包括至少三个对象:一个Component,一个Model和一个UI Delegate,在这个框架中,Model负责存储数据,UI Delegate负责从Model获取数据并渲染到屏幕上去,Component通常协调Model和Delegate之间的操作,并同时负责将 Swing嵌入到AWT窗口系统中。

  注意,UI Delegate对象可以在运行的时候动态替换,这就使Swing具备了可插拔的外观(Pluggable Look-And-Feel, PLAF)。

  虽然Swing的MVC结构显然具备灵活性的好处,但是这个结构通常被指责为一些程序慢的根源。虽然基于MVC结构需要更多的方法调用来支持额外的重定向,其实花费在这儿的消耗很小。对基于Swing的应用程序profile的结果显示,model-view分隔的开销可以忽略不计,不到CPU总开销的 1%,复杂的Swing用户界面的多数处理事件其实都花费在了底层的图形操作上了。Swing的model-view结构并不是低性能的根源,它是构建可扩展程序的关键。

  矢量组件

  Swing 提供了一些处理大数据量数据集的组件,包括JTable、JTree、JList以及JComboBox.这些矢量组件被设计成能够处理成千上万甚至数百万的数据,为了避免占用大量内存,这些组件在Swing的体系架构增加了渲染器(renderer)概念。

  渲染器(Renderer)

  在这些更为复杂的Swing组件中,渲染器是提供可扩展性的关键。我们以JTable作为渲染器的示例。缺省表格中的每一格可能都有一个JLabel,这对于比较小的数据集来说可行,但是对于大数据集就行不通。比如,如果使用这种表格显示1000x1000的数据集,需要的内存可能要1G,即使每个格子都是空的。

西安达内科技


联系人:张 先生 (seo)
电 话:029-82222601
传 真:
手 机:
地 址:中国陕西西安市陕西省西安市兴庆南路10号交大出版大厦6层
邮 编:
网 址:http://xadnitpx.qy6.com.cn(加入收藏)