`
ihuashao
  • 浏览: 4721781 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

使用DecoratedField装饰SWT Control

阅读更多
DecoratedField用来实现对Control的装饰,可以为button,combo,text等控件做出如下效果。
控件边上提示的种类有4种,分别是Proposal, Required, error, warning.
代码很简单:
packagejface;

importorg.eclipse.jface.fieldassist.DecoratedField;
importorg.eclipse.jface.fieldassist.FieldDecoration;
importorg.eclipse.jface.fieldassist.FieldDecorationRegistry;
importorg.eclipse.jface.fieldassist.IControlCreator;
importorg.eclipse.jface.layout.GridDataFactory;
importorg.eclipse.swt.SWT;
importorg.eclipse.swt.layout.GridLayout;
importorg.eclipse.swt.widgets.Button;
importorg.eclipse.swt.widgets.Combo;
importorg.eclipse.swt.widgets.Composite;
importorg.eclipse.swt.widgets.Control;
importorg.eclipse.swt.widgets.Display;
importorg.eclipse.swt.widgets.Shell;
importorg.eclipse.swt.widgets.Text;

/***//**
*ThisclassdemonstratesTableViewers
*/

publicclassFieldDecorationDemo...{

publicvoidrun()...{
Displaydisplay
=newDisplay();
Shellshell
=newShell(display);
shell.setSize(
200,200);
shell.setText(
"ButtonExample");
shell.setLayout(
newGridLayout());

createFieldDecoration(shell);

shell.open();
while(!shell.isDisposed())...{
if(!display.readAndDispatch())
display.sleep();
}

display.dispose();
}


privatevoidcreateFieldDecoration(Shellshell)...{
createCombo(shell);
createButton(shell);
createText(shell);
}


privatevoidcreateText(Shellshell)...{
IControlCreatorcbCtrl
=newIControlCreator()...{

publicControlcreateControl(finalCompositeparent,finalintstyle)...{
Texttext
=newText(parent,style);
text.setText(
"text");
returntext;
}

}
;
DecoratedFielddField
=newDecoratedField(shell,SWT.BORDER,cbCtrl);
FieldDecorationdecoration
=FieldDecorationRegistry.getDefault().getFieldDecoration(FieldDecorationRegistry.DEC_ERROR);
dField.addFieldDecoration(decoration,SWT.LEFT
|SWT.TOP,false);
}


privatevoidcreateButton(Shellshell)...{
IControlCreatorcbCtrl
=newIControlCreator()...{

publicControlcreateControl(finalCompositeparent,finalintstyle)...{
Buttonbutton
=newButton(parent,style);
button.setText(
"button");
returnbutton;
}

}
;
DecoratedFielddField
=newDecoratedField(shell,SWT.BORDER,cbCtrl);
FieldDecorationdecoration
=FieldDecorationRegistry.getDefault().getFieldDecoration(
FieldDecorationRegistry.DEC_CONTENT_PROPOSAL);
dField.addFieldDecoration(decoration,SWT.LEFT
|SWT.TOP,false);
}


privatevoidcreateCombo(Shellshell)...{
IControlCreatorcbCtrl
=newIControlCreator()...{

publicControlcreateControl(finalCompositeparent,finalintstyle)...{
Combocb
=newCombo(parent,style);
cb.setText(
"combo");
returncb;
}

}
;
DecoratedFielddField
=newDecoratedField(shell,SWT.BORDER,cbCtrl);
FieldDecorationdecoration
=FieldDecorationRegistry.getDefault()
.getFieldDecoration(FieldDecorationRegistry.DEC_REQUIRED);
dField.addFieldDecoration(decoration,SWT.RIGHT
|SWT.TOP,false);
}


publicstaticvoidmain(String[]args)...{
newFieldDecorationDemo().run();
}

}

分享到:
评论

相关推荐

    使用Eclipse进行SWT编程

    【使用Eclipse进行SWT编程】 SWT,全称Standard Widget Toolkit,是由IBM开发的一套跨平台的图形用户界面(GUI)开发框架。这个框架的诞生源于Java早期GUI框架的局限性。当时,Sun Microsystems已经推出了AWT...

    使用Eclipse进行SWT编程.pdf

    "使用Eclipse进行SWT编程" SWT(Standard Widget Toolkit)是一个跨平台的GUI开发框架,由IBM开发。SWT解决了AWT和Swing框架中的问题,使用JNI访问本地窗口组件(native widgets),并且可以模拟不能获取的窗口组件...

    swt-64.rar_64位swt_64的SWT_SWT64_swt.jar 64位_swt64位

    描述中提到的“64位windows操作系统使用的SWT库”进一步确认了这一点。 SWT的设计目标是提供一个与平台相关的、高效的GUI库,它通过直接调用操作系统API来实现,而不是像Java Swing那样依赖Java抽象窗口工具包(AWT...

    教你使用Eclipse进行SWT编程(普通下载).doc

    每个Widgets的样式可以通过style bits设定,style bits是SWT类中定义的常量,可以组合使用。 开发SWT应用程序需要将SWT库(swt.jar)添加到类路径中,并配置相应的环境变量。在Eclipse中,这通常涉及到添加swt.jar...

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

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

    Eclipse中使用SWT进行界面设计

    在Eclipse中使用SWT进行界面设计涉及到一系列关键概念和技术,包括SWT的起源与优势、SWT应用程序的组成以及开发环境的配置。 1. 为什么要使用SWT? SWT,全称Standard Widget Toolkit,是由IBM开发的一个跨平台的...

    Eclipse下使用swt

    ### Eclipse 下使用 SWT 的知识点详解 #### 一、概述 Eclipse 是一款广泛使用的开源集成开发环境(IDE),尤其在 Java 开发领域占有重要地位。随着 Eclipse Visual Editor Project (VEP) 的出现,Eclipse 不仅能...

    SWT源码 swt.jar

    使用SWT的开发者需要了解如何在项目中正确引入"swt.jar",配置项目的构建路径,并根据目标平台选择正确的SWT库。此外,由于SWT与操作系统紧密相关,所以在跨平台开发时需要特别注意兼容性和适配问题。 总的来说,...

    java swt自定义控件

    本文将深入探讨在Java中使用SWT进行自定义控件的开发。 ### 1. SWT概述 SWT是一个开源的Java库,它的目标是提供与原生GUI库(如Windows的Win32 API,Mac OS的Cocoa,Linux的GTK+)类似的性能和功能。SWT使用JNI...

    SWT配置 SWT配置 SWT配置 SWT配置 SWT配置

    - **Classpath变量**:如果计划开发多个使用SWT的项目,建议创建一个Classpath变量指向`swt.jar`的位置,以便在不同项目中重用。 - **持续性问题**:需要注意的是,上述设置的Classpath和原生库路径并不会自动应用于...

    swt源码和jar包dj-native-swing-swt.jar

    需要在32为浏览器中使用",这意味着这个库是针对32位系统的,如果你的应用程序或开发环境是32位的,你需要使用这个版本的SWT库才能正常运行。同时,"src中为源码,可以直接在项目中引用"意味着除了预编译的jar包之外...

    org.eclipse.swt.win32

    org.eclipse.swt.custom.ControlEditor.class org.eclipse.swt.custom.DefaultContent.class org.eclipse.swt.custom.ExtendedModifyEvent.class org.eclipse.swt.custom.ExtendedModifyListener.class org.eclipse....

    SWT_全接触 SWT_全接触 SWT_全接触

    根据给定的信息,本文将详细介绍SWT(Standard Widget Toolkit)的相关知识点,包括其背景、特点、与AWT/Swing的对比以及如何开始使用SWT。 ### SWT简介 SWT(Standard Widget Toolkit)是一个开放源码的原生GUI...

    Java使用SWT JFreeChart控件实现的小游戏.zip

    Java使用SWT JFreeChart控件实现的小游戏.zip Java使用SWT JFreeChart控件实现的小游戏.zip Java使用SWT JFreeChart控件实现的小游戏.zip Java使用SWT JFreeChart控件实现的小游戏.zip Java使用SWT JFreeChart控件...

    swt-api swt DOC

    这个文档可能是开发者们在使用SWT进行界面设计时的重要参考资料。 【描述】"java界面编程,swt的开发DOC,谁用谁知道,一般人我不告诉他" 提示我们SWT是Java编程中用于创建桌面应用用户界面的一种工具包。它提供了...

    swt实现的日历附带说明使用

    而"swt实现的日历附带说明使用"这个主题涉及到的是如何在SWT应用中集成日历功能,特别是使用了JDatePicker这个组件。 JDatePicker 是一个基于Java Swing的组件,它提供了日历选择器的功能。虽然SWT主要用在非Swing...

    Swt的API使用说明

    **Swt的API使用说明** Swt(Standard Widget Toolkit)是Eclipse基金会开发的一个开源GUI库,主要用于构建原生外观的Java应用程序。Swt API提供了丰富的控件和功能,允许开发者创建与操作系统环境无缝集成的应用...

Global site tag (gtag.js) - Google Analytics