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

JFace的FieldDecoration / DecoratedField 使用详解

    博客分类:
  • RCP
阅读更多
关键代码:

		IControlCreator controlCreator = new IControlCreator() {
			public Control createControl(final Composite parent, final int style) {
				Text text = new Text(parent, style);
				return text;
			}
		};
                
                // 声明一个FieldDecoration, 注意命名, 不要和DecoratedField混淆. 指的是具体的小Tip的控件. 
                // 可以自定义提示信息, 提示图片.
		final FieldDecoration decoration = FieldDecorationRegistry.getDefault().getFieldDecoration(FieldDecorationRegistry.DEC_ERROR);
		decoration.setDescription("Please Input 'OK'");
		// decoration.setImage(image);

		final DecoratedField decoratedField = new DecoratedField(shell, SWT.BORDER, controlCreator);

		// DecoratedField.getLayoutControl()得到的是一个Composite,你的Control就是创建在这个Composite之上的.
		// 可以对这个Composite进行外围的布局.
		// 里面的Control是无法控制布局的, 是默认FormLayout, 且是占满整个Composite.
		decoratedField.getLayoutControl().setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));

		// DecoratedField 的position
		// 左右: SWT.LEFT, SWT.RIGHT
		// 上下: SWT.TOP,SWT.BOTTOM
		// 使用上下和左右进行组合, 比如 SWT.RIGHT | SWT.TOP
		decoratedField.addFieldDecoration(decoration, SWT.RIGHT | SWT.TOP, false);
		decoratedField.hideDecoration(decoration);
                
                // 给这个Text添加Modify事件, 通过内容判断修改decoratedField的表现状态.
		((Text) decoratedField.getControl()).addModifyListener(new ModifyListener() {
			public void modifyText(ModifyEvent e) {
				Text text = (Text) e.widget;

				if (text.getText().trim().equals("") || text.getText().trim().toUpperCase().equals("OK")) {
					decoratedField.hideDecoration(decoration);
					decoratedField.hideHover();

				} else {
					decoratedField.showDecoration(decoration);
					decoratedField.showHoverText("Not OK !");
				}
			}
		});


具体见代码里面的注释就可以明白了, 蛮简单的.
分享到:
评论

相关推荐

    SWT和Jface开发使用必使用jar包

    SWT和Jface开发使用必使用jar包之:equinox包,配合其他jar包一起使用

    swt.rar_java swt_jface_swt/jface

    【标签】"java_swt jface swt/jface" 这些标签明确了内容的主题,"java_swt" 关注的是Java与SWT的结合,"jface" 强调了JFace库的使用,"swt/jface" 表明两者都将被讨论,特别是它们如何协同工作来构建复杂的Java应用...

    Jface/swt学生成绩管理程序

    《JFace/SWT学生成绩管理程序:构建与解析》 在Java开发领域,JFace和SWT是两种用于创建图形用户界面(GUI)的重要工具。本篇文章将深入探讨如何利用JFace和SWT技术来构建一个学生成绩管理程序,并分析其中的关键...

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

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

    Swt/Jface tableViewer入门教程一(显示tableViewer)

    在本文中,我们将深入探讨如何使用Swt/Jface库中的`tableViewer`组件来创建一个基本的表格视图。Swt(Standard Widget Toolkit)是Java中用于开发原生界面的应用程序开发工具包,而Jface是建立在Swt之上的抽象层,...

    SWT和Jface开发使用必使用jar包jface

    SWT和Jface开发使用必使用jar包之:jface核心jar包,配置其他使用

    swt/jface.jar

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

    swt/jface tableViewer开发简化

    在IT行业中, SWT (Standard Widget Toolkit) 和 JFace 是用于构建 Java GUI 应用程序的两个重要库。它们是Eclipse开源项目的一部分,为开发者提供了丰富的用户界面组件和高级抽象,使得开发桌面应用程序变得更加...

    SWT/JFACE客户端登录窗口例子

    在这个“SWT/JFACE 客户端登录窗口例子”中,我们可以预期会看到如何使用这两个库来创建一个基本的登录窗口。通常,这样的窗口会包含用户名和密码输入框,以及登录、取消等按钮。以下是一些可能涉及的知识点: 1. *...

    swt/jface中文教程

    本教程将涵盖 SWT/JFace 的概览、目的、许可证和平台支持、SWT 和 JFace 的区别、使用 SWT/JFace 构建 GUI 应用程序、使用 SWT/JFace 管理颜色、绘图、字体、图案等内容。 SWT/JFace 的目的: SWT/JFace 的主要...

    Eclipse SWT/JFace 书中 全部实例

    2. JFace Data Binding:学习如何使用JFace的数据绑定机制,自动同步模型与视图的数据。 3. MVC模式:理解JFace如何运用MVC模式来分离业务逻辑和用户界面。 4. Dialogs:创建各种对话框,如MessageDialog、...

    运行jface所需要的最新jar包

    友情提示:缺少SWT包,自己去官方网站(http://www.eclipse.org/swt/)下载最新的,解决java.lang.NoClassDefFoundError: org/eclipse/core/runtime/IProgressMonitor和java.lang....去享受你的第一个jface程序吧!

    SWT和Jface开发使用的jar包

    SWT和Jface开发使用必使用jar包之:commands包,配合其他jar包一起使用

    Eclipse SWT/JFace 核心应用光盘源码

    JFace则是建立在SWT之上的一个高级UI框架,它简化了SWT的使用,提供了数据绑定、对话框、视图、表和树等控件的抽象。JFace通过模型-视图-控制器(MVC)的设计模式,帮助开发者更好地组织代码,减少重复工作,并且...

    swt/jface api帮助文档

    10. **模型-视图-控制器(MVC)**:JFace鼓励使用MVC模式来组织代码,使得业务逻辑和界面展示分离,提高了代码的可测试性和可重用性。 在学习和使用SWT和JFace API时,查阅这份中文帮助文档将非常有益。它会详细...

    eclipse4.4.2 org.eclipse.jface.text_3.9.2.v20141003-1326.jar修改版

    解决eclipse设置代码自动补全后空格和等号自动上屏问题,修改为tab键上屏。适用于eclipse4.4.2.

    Eclipse SWT JFace核心应用_pdf_含标签_目录

    《Eclipse SWT/Jface核心应用》...第2篇介绍了SWT基本控件的使用,以及事件处理、布局等SWT基本知识的应用。第3篇介绍了关于SWT的高级应用。第4篇介绍了JFace框架的知识及其应用。第5篇介绍了最新的RCP应用程序的开发。

    SWT/JFace从入门到精通

    - 探索JFace:了解JFace如何简化SWT的使用,如利用TreeViewer和TableViewer展示数据。 - 练习MVC:通过创建一个简单的数据编辑视图,实践JFace的MVC模式。 - 扩展Eclipse:学习如何创建Eclipse插件,将SWT/JFace...

    org.eclipse.jface.text_3.14.0.v20180824-1140

    org.eclipse.jface.text_3.14.0.v20180824-1140,最新版Eclipse代码上屏jar包,修改了代码上屏按键,取消空格上屏,不会使用的小伙伴请百度Eclipse代码上屏优化!

Global site tag (gtag.js) - Google Analytics