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

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

EclipseForm程序設(shè)計(jì)指南之入門

2019-11-18 13:47:29
字體:
供稿:網(wǎng)友

  1、介紹
  
  ?Eclipse Form是Eclipse 3.0的新特性
  
  ?Eclipse Form是一組定制小部件和支持類組成的插件,以前由PDE和Update組件內(nèi)部使用,在Eclipse 3.0中已經(jīng)成為公用API
  
  ?Eclipse Form提供:
  
  * 適合包含到內(nèi)容區(qū)域(編輯器或視圖)中的“Form”概念
  
  * 用來治理顏色、超鏈接組和其它象SWT控件一樣的Form外觀的工具包
  
  * 象Html表格一樣布局的新布局治理器
  
  * 為Form設(shè)計(jì)的定制控件(超鏈接、圖像鏈接、可滾動(dòng)的composite等)
  
  * 每頁是一個(gè)Form的多頁編輯器(就象PDE)
  
  2、快速入門
  
  (1)HelloWorld例子
  
  ?下面的例子在視圖中創(chuàng)建一個(gè)空的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();
  }
  }
  
  ?首先要?jiǎng)?chuàng)建FormToolkit對(duì)象實(shí)例
  
  ?由FormToolkit創(chuàng)建Form對(duì)象(這里是ScrolledForm)
  
  ?調(diào)用ScrolledForm的setText()方法,在Form的頂部設(shè)置標(biāo)題內(nèi)容
  
  ?注重:最后要dispose治理資源的FormToolkit對(duì)象
  
  ?要在Workbench中運(yùn)行,需要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)添加內(nèi)容
  
  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的體內(nèi)容,它是一個(gè)Composite對(duì)象
  
  ?設(shè)置其布局為GridLayout
  
  ?通過FormToolkit創(chuàng)建一個(gè)超鏈接(Hyperlink)控件
  
  ?添加超鏈接事件偵聽器,響應(yīng)超鏈接的點(diǎn)擊
  
  (3)添加通用控件
  
  ?由于Form的體內(nèi)容是一個(gè)Composite對(duì)象,所以答應(yīng)在其中創(chuàng)建SWT控件
  
  ?但是SWT控件是被設(shè)計(jì)為適合窗口、對(duì)話框的,所以在Form中使用是有問題的
  
  ?在Form中,使用FormToolkit創(chuàng)建對(duì)應(yīng)的通用控件
  
  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);
  }
  
  ?上面的例子添加了三個(gè)通用控件:Label、Text和CheckBox
  
  ?由于缺省創(chuàng)建的Text控件的外觀是3D的,而要達(dá)到象PDE一樣的FLAT外觀,需要做些額外工作:
  
  1) 調(diào)用setData()方法,添加重畫邊框的附加信息
  
  2) 調(diào)用FormToolkit的paintBordersFor()方法重畫FLAT外觀的邊框

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 万山特区| 枞阳县| 壤塘县| 贺兰县| 筠连县| 丰宁| 镇坪县| 英山县| 鲁甸县| 卢龙县| 巴楚县| 神木县| 桓仁| 襄樊市| 莱阳市| 林州市| 郯城县| 泗水县| 兰州市| 三亚市| 右玉县| 济阳县| 孝感市| 从江县| 甘谷县| 中宁县| 阿尔山市| 天镇县| 东光县| 枣阳市| 周口市| 增城市| 成安县| 资中县| 安岳县| 耿马| 江源县| 嘉定区| 东至县| 建水县| 陆丰市|