`
ningxiaofeng
  • 浏览: 6801 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

JFACE技术 转帖+整理

阅读更多

Jface提供了阅读器框架使对于特定小部件的操控更加容易。这一框架包括许多关系复杂的类和接口。

 

阅读器框架是模型-视图-控制器(MVC)设计模式的一个应用。核心的理念是将域对象(模型Model)从用户界面(视图View)和控制它们的逻辑(控制器Controller)中分离出来。

 

一个恰当的阅读器提供有一个介于小部件和显示和形成MVC三元之一的视图部分的数据之间的抽象层,为一个域对象生成一个display。对于客户程序而言,一个阅读器提供了比小部件本身更为自然的操控用户界面。在另外一个方面,小部件已经赋予其获取数据的能力而无需担心数据源自何处。通过有Viewer提供的接口来操控一系列的对象,小部件能够在其内部使用时重新排列数据成最为便捷的形式而不破坏数据的原有结构。

 

ContentViewer通过使用系列的接口获取了处理以域对象形式出现的数据的能力,这些接口按照JFace的惯例都在其名字前冠以I。

 

StructureViewer在由ContentViewer提供的数据上加了一个结构。结构的细节变动可能很广泛,但是执行诸如排列、过滤之类的通常任务都是在这一层继承层面应用的。每一个小部件——树、列表、表格等都有对应的Viewer子类,诸如ListViewer或TableViewer。小部件总是趋向于同至多一个其阅读器的实例相匹配,而一旦该阅读器被绑定于小部件,则所有的操控就由阅读器而不是直接由小部件来实施。如果试图在小部件和其阅读器之间混合调用会导致难以预测的后果。所有的具体的Viewer子类都提供一个构造器来将合适的小部件的实例绑定于其阅读器。

 

些基本类中定义的方法是不能被你的程序代码所直接调用的。为此你需要提供一个带有阅读器的类来应用这些接口之一,然后阅读器会在恰当的时候调用你类中的方法。

 

重要的阅读器方法:

getControl() Viewer

getSelection() Viewer

refresh() Viewer

setInput() Viewer

setContentProvider() ContentViewer

setLabelProvider() ContentViewer

addFilter() StructuredViewer

reveal() StructuredViewer

setSorter() StructuredViewer

 

 

不同的阅读器为广泛系列的事件监听器提供支持。基本的Viewer类提供对于帮助请求(help request)和选择改变(selection changed)事件的通知。观察谱系图中再往下细节,StructuredViewers加入了(鼠标)双击事件的支持,而AbstractTreeViewer则加入了默认的选择和树事件的支持。早先所说的原则在此同样适用。监听器被应用于应用程序后的逻辑;它们构成了MVC的Controller部分。

 

过滤器:

处于效率方面的考虑,一次读取全部对象并将它们缓存起来是更有意义的做法。向一个数据库往返重复读写常量很明显会减缓程序运行直至龟行。 为了使用一个过滤器,你需要一次装载整套数据,或是使用一个ContentProvider来加入对象。当到了显示数据的时候,你就调用StructuredViewer的addFilter()方法,给它以一个ViewerFilter的应用来指明仅接收需要显示的元素。

 

调用addFilter()方法会自动地触发元素的重过滤,现在仅有以用户输入的字符串打头的才得以现死活。注意到没有必要为原始的对象集合而担心。阅读器始终维持着整个集合;它选择来显示的仅当select()方法被调用,过滤器返回值为真的。很有可能在一个阅读器上存在多个过滤器;若如此,只有通过所有过滤器的元素才得以显示。

分享到:
评论

相关推荐

    swt/jface in action +中文版+英文版+源码 下载

    本文将深入探讨这两个技术,并结合《SWT/JFace in Action》这本书的相关内容,提供一个全面的知识框架。 SWT是Java的GUI工具包,它提供了原生的控件,使得Java应用程序的用户界面可以与操作系统深度融合,从而获得...

    Eclipse SWT/JFace 开发实战精解+完美书签+光盘源码完整版

    3. **Eclipse开发实战**:本书《Eclipse SWT/JFace 开发实战精解》可能涵盖了如何使用这两项技术进行实际项目开发的各种细节,包括但不限于: - SWT控件的使用和自定义:讲解如何使用和扩展SWT提供的基础组件。 - ...

    Swt +jface

    Swt +jface 帮助文档 API 

    SWT + JFace 入门

    SWT (Standard Widget Toolkit) 和 JFace 是两个用于构建Java图形用户界面(GUI)的开源库,它们在Java开发中特别是在开发桌面应用时扮演着重要角色。本文将深入探讨这两个库,以及如何入门使用它们。 SWT是IBM开发...

    SWT+JFace 源代码

    此外,实践是掌握这些技术的关键,尝试创建一些简单的示例应用程序,如文件浏览器、表视图等,将有助于巩固理论知识。 总之,SWT和JFace是Java GUI编程的重要工具,它们为开发者提供了强大而灵活的界面构建能力。...

    Eclipse+SWT_JFace核心应用 随书光盘.zip

    《Eclipse+SWT_JFace核心应用》是由那静编著的一本专业书籍,主要针对的是Eclipse集成开发环境中的SWT(Standard Widget Toolkit)和JFace技术的应用。这本书的随书光盘包含了丰富的资源,旨在帮助读者深入理解和...

    JFace教程

    例如,Eclipse IDE 自身就大量使用了 JFace 和 SWT 技术来构建其强大的功能界面。 #### 二、JFace的核心特性 1. **表单布局管理器**:JFace 提供了多种布局管理器,如 `FormLayout` 和 `GridLayout`,这些布局管理...

    swt/jface in action中文版

    #### 1.2 SWT/JFace的技术细节 - **SWT的特点**: - **直接访问操作系统组件**:SWT 提供了直接访问操作系统图形组件的能力,这意味着开发者可以轻松地利用这些组件来构建用户界面。 - **事件处理**:SWT 支持...

    mysource-jface

    总之,"mysource-jface"项目是一个关于JFace技术的实践示例,通过研究该项目的源代码,开发者可以深入理解JFace的工作机制,提升在Eclipse RCP( Rich Client Platform)环境下的开发能力。对于想要提升Java GUI开发...

    SWT_JFace_in_action_jface_action_

    《SWT_JFace_in_Action》是一本专注于Java编程领域中SWT(Standard Widget Toolkit)和JFace技术的实践指南。这本书深入浅出地讲解了如何使用这两项强大的工具来构建功能丰富的图形用户界面(GUI)。SWT是Eclipse...

    SWT/JFace专题 --- SWT/JFace概述

    9. SWT和JFace的API使用:通过Swt_Jface+API.chm这个帮助文档,可以详细了解每个类和方法的功能和用法。 学习SWT和JFace,开发者不仅可以创建出高性能、美观的Java GUI应用,还能充分利用Eclipse的生态系统,如插件...

    JFace一些资料

    **JFace技术详解** JFace是Eclipse框架中的一部分,它是构建用户界面(UI)的一种高级工具包。JFace的设计目标是提供一个面向对象的、与操作系统无关的接口,简化Swing和SWT(Standard Widget Toolkit)之间的开发...

    swt/jface.jar

    标题中的"swt/jface.jar"是一个关键组件,它在Java开发环境中用于构建用户界面。SWT(Standard Widget Toolkit)是IBM开发的一个开源GUI库,它提供了与原生操作系统更紧密集成的图形用户界面控件。JFace是建立在SWT...

    JFace 类包(3.14)

    JFace 是一个面向Java开发者的图形用户界面(GUI)构建框架,它建立在SWT(Standard Widget Toolkit)之上,提供了一种更高层次的抽象来创建应用程序的用户界面。JFace的目标是简化GUI开发,使开发者可以更加关注...

    org.eclipse.jface.rar

    "org.eclipse.jface.rar" 是一个压缩包文件,包含的是Eclipse IDE中JFace库的源代码。Eclipse JFace 是一个用于构建用户界面(UI)的高级Java框架,它是Eclipse平台的重要组成部分,主要设计目的是简化Swing和AWT等...

    swt-jface入门

    【SWT/JFace 简介】 SWT(Standard Widget Toolkit)是Java开发者用于创建图形用户界面(GUI)的一种库,它与底层操作系统紧密集成,提供了可移植的API。SWT的优势在于其高性能和与操作系统原生界面的接近,这使得用...

    swt_jface_celleditor

    在Java编程领域, SWT (Standard Widget Toolkit) 和 JFace 是两个强大的图形用户界面(GUI)库,它们被广泛用于构建桌面应用程序。...掌握SWT/JFace的CellEditor技术对于开发高效、功能丰富的Java桌面应用至关重要。

    SWT JFace in action API

    "SWT+JFace+in+Action.pdf"和"SWT-JFace-in-Action_中文版.pdf"很可能是两本关于SWT和JFace的实战教程,其中可能涵盖了从基础到高级的各种主题,包括案例研究和实践指导。 总的来说,"SWT JFace in action API"的...

    11-JFace.rar_java jface

    Java JFace 技术是Eclipse框架中的一个重要组成部分,它为构建用户界面提供了一种模型-视图-控制器(MVC)的编程模式。JFace是Eclipse RCP(Rich Client Platform)的一部分,旨在简化GUI开发,使得开发者可以更加...

Global site tag (gtag.js) - Google Analytics