java

位置:IT落伍者 >> java >> 浏览文章

Eclipse Form程序设计快速入门


发布日期:2024年06月29日
 
Eclipse Form程序设计快速入门

介绍

Eclipse Form是Eclipse 的新特性

Eclipse Form是一组定制小部件和支持类组成的插件以前由PDE和Update组件内部使用在Eclipse 中已经成为公用API

Eclipse Form提供

适合包含到内容区域(编辑器或视图)中的Form概念

用来管理颜色超链接组和其它象SWT控件一样的Form外观的工具包

象HTML表格一样布局的新布局管理器

为Form设计的定制控件(超链接图像链接可滚动的composite等)

每页是一个Form的多页编辑器(就象PDE)

快速入门

)HelloWorld例子

下面的例子在视图中创建一个空的Form

public class FormView extends ViewPart {

private FormToolkit toolkit;

private ScrolledForm form;

public void createPartControl(Composite parent) {

toolkit = new FormToolkit(parentgetDisplay());

form = toolkitcreateScrolledForm(parent);

formsetText(Hello Eclipse Forms);

}

public void setFocus() {

formsetFocus();

}

public void dispose() {

toolkitdispose();

superdispose();

}

}

首先要创建FormToolkit对象实例

由FormToolkit创建Form对象(这里是ScrolledForm)

调用ScrolledForm的setText()方法在Form的顶部设置标题内容

注意最后要dispose管理资源的FormToolkit对象

要在Workbench中运行需要pluginxml中将orgeclipseuiforms添加到必需插件列表并注册视图

<?xml version= encoding=UTF?>

<?eclipse version=?>

<plugin

id=FormSamples

name=FormSamples Plugin

version=

providername=nelson_tu

class=orgxqtusamplesFormSamplesPlugin

<runtime>

<library name=FormSamplesjar

<export name=*/>

</library>

</runtime>

<requires>

<import plugin=orgeclipseui/>

<import plugin=reruntime/>

<import plugin=orgeclipseuiforms/>

</requires>

<extension

point=orgeclipseuiviews

<view

class=orgxqtusamplesviewsFormView

name=Form Sample

id=FormView/>

</extension>

</plugin>

)添加内容

public void createPartControl(Composite parent) {

toolkit = new FormToolkit(parentgetDisplay());

form = toolkitcreateScrolledForm(parent);

formsetText(Hello Eclipse Forms);

Composite body = formgetBody();

GridLayout layout = new GridLayout();

bodysetLayout(layout);

Hyperlink link = toolkitcreateHyperlink(body Click hereSWTWRAP);

linkaddHyperlinkListener(new HyperlinkAdapter() {

public void linkActivated(HyperlinkEvent e) {

Systemoutprintln(Link activated!);

}

});

}

首先获得Form的体内容它是一个Composite对象

设置其布局为GridLayout

通过FormToolkit创建一个超链接(Hyperlink)控件

添加超链接事件侦听器响应超链接的点击

)添加通用控件

由于Form的体内容是一个Composite对象所以允许在其中创建SWT控件

但是SWT控件是被设计为适合窗口对话框的所以在Form中使用是有问题的

在Form中使用FormToolkit创建对应的通用控件

public void createPartControl(Composite parent) {

toolkit = new FormToolkit(parentgetDisplay());

form = toolkitcreateScrolledForm(parent);

formsetText(Hello Eclipse Forms);

Composite body = formgetBody();

GridLayout layout = new GridLayout();

bodysetLayout(layout);

Hyperlink link = toolkitcreateHyperlink(body Click hereSWTWRAP);

linkaddHyperlinkListener(new HyperlinkAdapter() {

public void linkActivated(HyperlinkEvent e) {

Systemoutprintln(Link activated!);

}

});

layoutnumColumns = ;

GridData gd = new GridData();

gdhorizontalSpan = ;

linksetLayoutData(gd);

Label label = toolkitcreateLabel(body Text field label:);

Text text = toolkitcreateText(body );

textsetLayoutData(new GridData(GridDataFILL_HORIZONTAL));

textsetData(FormToolkitKEY_DRAW_BORDER FormToolkitTEXT_BORDER);

Button button = toolkitcreateButton(bodyAn example of a checkbox in a form SWTCHECK);

gd = new GridData();

gdhorizontalSpan = ;

buttonsetLayoutData(gd);

toolkitpaintBordersFor(body);

}

上面的例子添加了三个通用控件LabelText和CheckBox

由于缺省创建的Text控件的外观是D的而要达到象PDE一样的FLAT外观需要做些额外工作

调用setData()方法添加重画边框的附加信息

调用FormToolkit的paintBordersFor()方法重画FLAT外观的边框

上一篇:在eclipse下配置生成 hadoop-eclipse-plugin jar包

下一篇:Weblogic81和Hibernate 的集成问题