选择显示字体大小

eclipse form程序设计快速入门

  1、介绍

   eclipse form是eclipse 3.0的新特性。

   eclipse form是一组定制小部件和支持类组成的插件,以前由pde和update组件内部使用,在eclipse 3.0中已经成为公用api。

   eclipse form提供:

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

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

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

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

   ·每页是一个form的多页编辑器(就象pde)

   2、快速入门

   (1)helloworld例子

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

public class formview extends viewpart {

private formtoolkit toolkit;
private scrolledform form;

public void createpartcontrol(composite parent) {
  toolkit = new formtoolkit(parent.getdisplay());
  form = toolkit.createscrolledform(parent);
  form.settext("hello, eclipse forms");
}

public void setfocus() {
  form.setfocus();
}

public void dispose() {
  toolkit.dispose();
  super.dispose();
}
}

   ·首先要创建formtoolkit对象实例

   ·由formtoolkit创建form对象(这里是scrolledform)

   ·调用scrolledform的settext()方法,在form的顶部设置标题内容

   ·注意:最后要dispose管理资源的formtoolkit对象

   ·要在workbench中运行,需要plugin.xml中,将org.eclipse.ui.forms添加到必需插件列表,并注册视图

<?xml version="1.0" encoding="utf-8"?>
<?eclipse version="3.0"?>
<plugin
id="formsamples"
name="formsamples plug-in"
version="1.0.0"
provider-name="nelson_tu"
class="org.xqtu.samples.formsamplesplugin">

<runtime>
<library name="formsamples.jar">
<export name="*"/>
</library>
</runtime>

<requires>
<import plugin="org.eclipse.ui"/>
<import plugin="org.eclipse.core.runtime"/>
<import plugin="org.eclipse.ui.forms"/>
</requires>

<extension
point="org.eclipse.ui.views">
<view
class="org.xqtu.samples.views.formview"
name="form sample"
id="formview"/>
</extension>
</plugin>

   (2)添加内容

public void createpartcontrol(composite parent) {
  toolkit = new formtoolkit(parent.getdisplay());
  form = toolkit.createscrolledform(parent);
  form.settext("hello, eclipse forms");

  composite body = form.getbody();
  gridlayout layout = new gridlayout();
  body.setlayout(layout);
  hyperlink link = toolkit.createhyperlink(body, "click here.",swt.wrap);
  link.addhyperlinklistener(new hyperlinkadapter() {
   public void linkactivated(hyperlinkevent e) {
    system.out.println("link activated!");
   }
  });
}

   ·首先获得form的体内容,它是一个composite对象

   ·设置其布局为gridlayout

   ·通过formtoolkit创建一个超链接(hyperlink)控件

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

   (3)添加通用控件

   ·由于form的体内容是一个composite对象,所以允许在其中创建swt控件

   ·但是swt控件是被设计为适合窗口、对话框的,所以在form中使用是有问题的

   在form中,使用formtoolkit创建对应的通用控件

public void createpartcontrol(composite parent) {
  toolkit = new formtoolkit(parent.getdisplay());
  form = toolkit.createscrolledform(parent);
  form.settext("hello, eclipse forms");

  composite body = form.getbody();
  gridlayout layout = new gridlayout();
  body.setlayout(layout);
  hyperlink link = toolkit.createhyperlink(body, "click here.",swt.wrap);
  link.addhyperlinklistener(new hyperlinkadapter() {
   public void linkactivated(hyperlinkevent e) {
    system.out.println("link activated!");
   }
  });

  layout.numcolumns = 2;
  griddata gd = new griddata();
  gd.horizontalspan = 2;
  link.setlayoutdata(gd);
  label label = toolkit.createlabel(body, "text field label:");
  text text = toolkit.createtext(body, "");
  text.setlayoutdata(new griddata(griddata.fill_horizontal));
  text.setdata(formtoolkit.key_draw_border, formtoolkit.text_border);
  button button = toolkit.createbutton(body,"an example of a checkbox in a form", swt.check);
  gd = new griddata();
  gd.horizontalspan = 2;
  button.setlayoutdata(gd);
  toolkit.paintbordersfor(body);
}

   上面的例子添加了三个通用控件:label、text和checkbox

   由于缺省创建的text控件的外观是3d的,而要达到象pde一样的flat外观,需要做些额外工作:

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

    ·调用formtoolkit的paintbordersfor()方法重画flat外观的边框


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons