|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
由于这些智能化家电的市场需求没有预期的高,Sun放弃了该项计划。就在Oak几近失败之时,随着互联网的发展,Sun看到了Oak在计算机网络上的广阔应用前景,于是改造了Oak,程序|计划
1、先容
lEclipseForm是Eclipse3.0的新特征
lEclipseForm是一组定制小部件和撑持类构成的插件,之前由PDE和Update组件外部利用,在Eclipse3.0中已成为公用API
lEclipseForm供应:
n合适包括到内容地区(编纂器或视图)中的“Form”观点
n用来办理色彩、超链接组和别的象SWT控件一样的Form表面的工具包
n象HTML表格一样结构的新结构办理器
n为Form计划的定制控件(超链接、图象链接、可转动的composite等)
n每页是一个Form的多页编纂器(就象PDE)
2、疾速进门
(1)HelloWorld例子
l上面的例子在视图中创立一个空的Form
publicclassFormViewextendsViewPart{
privateFormToolkittoolkit;
privateScrolledFormform;
publicvoidcreatePartControl(Compositeparent){
toolkit=newFormToolkit(parent.getDisplay());
form=toolkit.createScrolledForm(parent);
form.setText("Hello,EclipseForms");
}
publicvoidsetFocus(){
form.setFocus();
}
publicvoiddispose(){
toolkit.dispose();
super.dispose();
}
}
l起首要创立FormToolkit对象实例
l由FormToolkit创立Form对象(这里是ScrolledForm)
l挪用ScrolledForm的setText()办法,在Form的顶部设置题目内容
l注重:最初要dispose办理资本的FormToolkit对象
l要在Workbench中运转,必要plugin.xml中,将org.eclipse.ui.forms增加到必须插件列表,并注册视图
<?xmlversion="1.0"encoding="UTF-8"?>
<?eclipseversion="3.0"?>
<plugin
id="FormSamples"
name="FormSamplesPlug-in"
version="1.0.0"
provider-name="nelson_tu"
class="org.xqtu.samples.FormSamplesPlugin">
<runtime>
<libraryname="FormSamples.jar">
<exportname="*"/>
</library>
</runtime>
<requires>
<importplugin="org.eclipse.ui"/>
<importplugin="org.eclipse.core.runtime"/>
<importplugin="org.eclipse.ui.forms"/>
</requires>
<extension
point="org.eclipse.ui.views">
<view
class="org.xqtu.samples.views.FormView"
name="FormSample"
id="FormView"/>
</extension>
</plugin>
(2)增加内容
publicvoidcreatePartControl(Compositeparent){
toolkit=newFormToolkit(parent.getDisplay());
form=toolkit.createScrolledForm(parent);
form.setText("Hello,EclipseForms");
Compositebody=form.getBody();
GridLayoutlayout=newGridLayout();
body.setLayout(layout);
Hyperlinklink=toolkit.createHyperlink(body,"Clickhere.",
SWT.WRAP);
link.addHyperlinkListener(newHyperlinkAdapter(){
publicvoidlinkActivated(HyperlinkEvente){
System.out.println("Linkactivated!");
}
});
}
l起首取得Form的体内容,它是一个Composite对象
l设置其结构为GridLayout
l经由过程FormToolkit创立一个超链接(Hyperlink)控件
l增加超链接事务侦听器,呼应超链接的点击
(3)增加通用控件
l因为Form的体内容是一个Composite对象,以是同意在个中创立SWT控件
l可是SWT控件是被计划为合适窗口、对话框的,以是在Form中利用是有成绩的
l在Form中,利用FormToolkit创立对应的通用控件
publicvoidcreatePartControl(Compositeparent){
toolkit=newFormToolkit(parent.getDisplay());
form=toolkit.createScrolledForm(parent);
form.setText("Hello,EclipseForms");
Compositebody=form.getBody();
GridLayoutlayout=newGridLayout();
body.setLayout(layout);
Hyperlinklink=toolkit.createHyperlink(body,"Clickhere.",
SWT.WRAP);
link.addHyperlinkListener(newHyperlinkAdapter(){
publicvoidlinkActivated(HyperlinkEvente){
System.out.println("Linkactivated!");
}
});
layout.numColumns=2;
GridDatagd=newGridData();
gd.horizontalSpan=2;
link.setLayoutData(gd);
Labellabel=toolkit.createLabel(body,"Textfieldlabel:");
Texttext=toolkit.createText(body,"");
text.setLayoutData(newGridData(GridData.FILL_HORIZONTAL));
text.setData(FormToolkit.KEY_DRAW_BORDER,FormToolkit.TEXT_BORDER);
Buttonbutton=toolkit.createButton(body,
"Anexampleofacheckboxinaform",SWT.CHECK);
gd=newGridData();
gd.horizontalSpan=2;
button.setLayoutData(gd);
toolkit.paintBordersFor(body);
}
l下面的例子增加了三个通用控件:Label、Text和CheckBox
l因为缺省创立的Text控件的表面是3D的,而要到达象PDE一样的FLAT表面,必要做些分外事情:
n挪用setData()办法,增加重画边框的附加信息
n挪用FormToolkit的paintBordersFor()办法重画FLAT表面的边框
C++编译的是本地码,优点是启动快,而且可以精确控制资源因此可以开发很高效的程序.缺点是编程麻烦,而且容易留下安全隐患.跨平台靠源代码在各个平台间分别编译(一处编写到处编译) |
|