Swing 模型过滤
来源:互联网 发布:手机测视力软件 编辑:程序博客网 时间:2024/05/16 06:55
简介
模型过滤是这样一种技术,它在 Swing 组件体系结构中提供附加的功能与灵活性。
Swing 体系结构的重要创新之一在于采用了模型/视图/控制器 (MVC) 原理,这样就可将组件的不同角色分离开。当一种体系结构具备 MVC 分离特性时,即可对组件的数据与状态作不同的解释。这允许程序员在组件及其模型之间插入过滤器对象。模型过滤可以在模型内修改数据的表示,还也可以改变模型所封装数据的外在数目和顺序。
模型过滤器的另外两种重要特性是:
模型过滤操作不会改变底层的模型数据。这使得多个组件可以共享一组数据,而且每个组件都可能以不同的方式解释这组数据。
过滤器可以叠用,这样就可以依次用几个不同的过滤器对象来解释模型数据。
已定义的代理
为了最大限度地利用 Java 平台对面向对象的支持,可以简单地认为组件由若干对象构成。这些对象可以由一个通用术语 ― 代理 ― 来描述。代理是实现一个公共 Java 接口并与某个特定组件相关联的对象。代理实现的接口定义代理在 MVC 体系结构中充当的角色。
对于刚刚接触 Swing 的程序员而言,代理的概念似乎有些难以理解,但是,它们也是 AWT 组件的一种共同特征。例如,如果想更改 java.awt.Label 组件上的字体,只需创建或获取 java.awt.Font 类的一个实例,并且调用 getFont() 使该实例与组件相关联。Font 对象的内部运作细节可能很有趣,但是组件只要有 Font 类型对象的一个引用即可适当地显示自己。甚至像标签前景颜色这种简单概念也是通过代理实现的;java.awt.Color 类提供一种适合作组件前景颜色的对象。作为一般规则,值为非基本数据类型的各种组件属性都可看作是代理。
Swing 中的 MVC 实现就是这些概念的体现。对象不仅用于表示组件的属性值,也用于表示组件行为的诸多方面。这种方案相当灵活,足以支持 Swing 的可插接外观 (PLAF) 功能的实现,该功能使应用程序既可模拟本地平台的外观,也可用一种与平台无关的方案显示组件。PLAF 既可使应用程序看起来就像 Microsoft Windows、 Mac OS 和 X/Motif 等平台的本地应用程序一样,也可使应用程序具有一种中立的外观,称为 "Java" LAF 或 "Metal" LAF。
PLAF 功能与组件的外观密切相关。本文主要讨论这一体系结构的模型部分,它与组件的外观的无关。
全文:http://www.abcjava.com/html/JAVA/J2SE/2009/0621/279.html
- Swing 模型过滤
- Swing 模型过滤
- Java Swing 过滤提示框
- Swing线程模型
- Swing 事件模型
- swing实现类似百度过滤文本框
- Swing:支持自动过滤的 JComboBox
- Swing之JTable内容过滤文本框
- Swing模型与渲染器
- Swing模型与渲染器
- Swing模型与渲染器
- 简析Java Swing线程模型
- .NET MVC 模型过滤解决方法
- Hacking swing: 一个JDBC表控件模型
- Hacking swing: 一个JDBC表控件模型
- Hacking swing: 一个JDBC表控件模型
- Hacking swing: 一个JDBC表控件模型
- Swing GUI案例 - 1.概念模型
- Buoy使得简单Java用户界面的编程变得轻而易举
- 那段感情飘到了世界的尽头
- Vmware6 install VmWare Tool方法
- 蜀绣(转)
- 基础知识:MySQL数据类型及列类型 (1)
- Swing 模型过滤
- .net 自动产生的JavaScript代码
- c3p0Tomcat JDBC -- mysql连接数据库连接池.doc
- 化解字符串不能超过8000的方法(ZT)
- 二叉树
- 最新最全JDK 下载地址
- 25 个在 Web 中嵌入图表的免费资源
- 如何卸载 IE
- 一个jdk的安装错误提示,第一次遇到,查了老半天也不知道为啥???有人见过吗???