国产探花免费观看_亚洲丰满少妇自慰呻吟_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外觀的邊框

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 邻水| 新野县| 通化市| 巴彦县| 望谟县| 兴山县| 南昌市| 哈密市| 沙洋县| 金华市| 兴宁市| 瑞安市| 博白县| 保山市| 玛纳斯县| 肇东市| 屏东县| 锦屏县| 甘南县| 佛教| 三都| 无棣县| 三明市| 双牌县| 宁安市| 枝江市| 佛坪县| 安远县| 沙雅县| 合作市| 修文县| 郎溪县| 丹阳市| 吉林市| 陈巴尔虎旗| 洪雅县| 新巴尔虎右旗| 孟连| 太仆寺旗| 五华县| 遂平县|