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编程】 SWT,全称Standard Widget Toolkit,是由IBM开发的一套跨平台的图形用户界面(GUI)开发框架。这个框架的诞生源于Java早期GUI框架的局限性。当时,Sun Microsystems已经推出了AWT...
"使用Eclipse进行SWT编程" SWT(Standard Widget Toolkit)是一个跨平台的GUI开发框架,由IBM开发。SWT解决了AWT和Swing框架中的问题,使用JNI访问本地窗口组件(native widgets),并且可以模拟不能获取的窗口组件...
描述中提到的“64位windows操作系统使用的SWT库”进一步确认了这一点。 SWT的设计目标是提供一个与平台相关的、高效的GUI库,它通过直接调用操作系统API来实现,而不是像Java Swing那样依赖Java抽象窗口工具包(AWT...
每个Widgets的样式可以通过style bits设定,style bits是SWT类中定义的常量,可以组合使用。 开发SWT应用程序需要将SWT库(swt.jar)添加到类路径中,并配置相应的环境变量。在Eclipse中,这通常涉及到添加swt.jar...
SWT和Jface开发使用必使用jar包之:equinox包,配合其他jar包一起使用
在Eclipse中使用SWT进行界面设计涉及到一系列关键概念和技术,包括SWT的起源与优势、SWT应用程序的组成以及开发环境的配置。 1. 为什么要使用SWT? SWT,全称Standard Widget Toolkit,是由IBM开发的一个跨平台的...
### Eclipse 下使用 SWT 的知识点详解 #### 一、概述 Eclipse 是一款广泛使用的开源集成开发环境(IDE),尤其在 Java 开发领域占有重要地位。随着 Eclipse Visual Editor Project (VEP) 的出现,Eclipse 不仅能...
使用SWT的开发者需要了解如何在项目中正确引入"swt.jar",配置项目的构建路径,并根据目标平台选择正确的SWT库。此外,由于SWT与操作系统紧密相关,所以在跨平台开发时需要特别注意兼容性和适配问题。 总的来说,...
本文将深入探讨在Java中使用SWT进行自定义控件的开发。 ### 1. SWT概述 SWT是一个开源的Java库,它的目标是提供与原生GUI库(如Windows的Win32 API,Mac OS的Cocoa,Linux的GTK+)类似的性能和功能。SWT使用JNI...
- **Classpath变量**:如果计划开发多个使用SWT的项目,建议创建一个Classpath变量指向`swt.jar`的位置,以便在不同项目中重用。 - **持续性问题**:需要注意的是,上述设置的Classpath和原生库路径并不会自动应用于...
需要在32为浏览器中使用",这意味着这个库是针对32位系统的,如果你的应用程序或开发环境是32位的,你需要使用这个版本的SWT库才能正常运行。同时,"src中为源码,可以直接在项目中引用"意味着除了预编译的jar包之外...
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(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控件...
这个文档可能是开发者们在使用SWT进行界面设计时的重要参考资料。 【描述】"java界面编程,swt的开发DOC,谁用谁知道,一般人我不告诉他" 提示我们SWT是Java编程中用于创建桌面应用用户界面的一种工具包。它提供了...
而"swt实现的日历附带说明使用"这个主题涉及到的是如何在SWT应用中集成日历功能,特别是使用了JDatePicker这个组件。 JDatePicker 是一个基于Java Swing的组件,它提供了日历选择器的功能。虽然SWT主要用在非Swing...
**Swt的API使用说明** Swt(Standard Widget Toolkit)是Eclipse基金会开发的一个开源GUI库,主要用于构建原生外观的Java应用程序。Swt API提供了丰富的控件和功能,允许开发者创建与操作系统环境无缝集成的应用...