国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

Eclipse Form程序設計指南之入門

2024-07-21 02:15:16
字體:
來源:轉載
供稿:網友
  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外觀,需要做些額外工作:

  1) 調用setdata()方法,添加重畫邊框的附加信息

  2) 調用formtoolkit的paintbordersfor()方法重畫flat外觀的邊框

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 澄城县| 卫辉市| 建阳市| 晋宁县| 满城县| 本溪| 龙山县| 聂荣县| 宁化县| 兴义市| 金塔县| 宜良县| 淮安市| 余干县| 深泽县| 达尔| 灌南县| 浠水县| 启东市| 三台县| 峨山| 桐乡市| 南康市| 金阳县| 武山县| 西林县| 潼关县| 梁河县| 汤原县| 义马市| 武冈市| 万安县| 乌拉特中旗| 平乐县| 东兴市| 尼勒克县| 繁峙县| 常山县| 壶关县| 盘锦市| 鸡东县|