熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java開源技術 >> 正文

Eclipse Form程序設計快速入門

2013-11-23 20:34:33  來源: Java開源技術 

  介紹
  
  Eclipse Form是Eclipse 的新特性
  
  Eclipse Form是一組定制小部件和支持類組成的插件以前由PDE和Update組件內部使用在Eclipse 中已經成為公用API
  
  Eclipse Form提供
  
  適合包含到內容區域(編輯器或視圖)中的Form概念
  
  用來管理顏色超鏈接組和其它象SWT控件一樣的Form外觀的工具包
  
  象HTML表格一樣布局的新布局管理器
  
  為Form設計的定制控件(超鏈接圖像鏈接可滾動的composite等)
  
  每頁是一個Form的多頁編輯器(就象PDE)
  
  快速入門
  
  ()HelloWorld例子
  
  下面的例子在視圖中創建一個空的Form
  
  public class FormView extends ViewPart {
  
  private FormToolkit toolkit;
  private ScrolledForm form;
  
  public void createPartControl(Composite parent) {
  toolkit = new FormToolkit(parentgetDisplay());
  form = toolkitcreateScrolledForm(parent);
  formsetText(Hello Eclipse Forms);
  }
  
  public void setFocus() {
  formsetFocus();
  }
  
  public void dispose() {
  toolkitdispose();
  superdispose();
  }
  }
  
  首先要創建FormToolkit對象實例
  
  由FormToolkit創建Form對象(這裡是ScrolledForm)
  
  調用ScrolledForm的setText()方法在Form的頂部設置標題內容
  
  注意最後要dispose管理資源的FormToolkit對象
  
  要在Workbench中運行需要pluginxml中將orgeclipseuiforms添加到必需插件列表並注冊視圖
  
  <?xml version= encoding=UTF?>
  <?eclipse version=?>
  <plugin
  id=FormSamples
  name=FormSamples Plugin
  version=
  providername=nelson_tu
  class=orgxqtusamplesFormSamplesPlugin
  
  <runtime>
  <library name=FormSamplesjar
  <export name=*/>
  </library>
  </runtime>
  
  <requires>
  <import plugin=orgeclipseui/>
  <import plugin=reruntime/>
  <import plugin=orgeclipseuiforms/>
  </requires>
  
  <extension
  point=orgeclipseuiviews
  <view
  class=orgxqtusamplesviewsFormView
  name=Form Sample
  id=FormView/>
  </extension>
  </plugin>
  
  ()添加內容
  
  public void createPartControl(Composite parent) {
  toolkit = new FormToolkit(parentgetDisplay());
  form = toolkitcreateScrolledForm(parent);
  formsetText(Hello Eclipse Forms);
  
  Composite body = formgetBody();
  GridLayout layout = new GridLayout();
  bodysetLayout(layout);
  Hyperlink link = toolkitcreateHyperlink(body Click hereSWTWRAP);
  linkaddHyperlinkListener(new HyperlinkAdapter() {
  public void linkActivated(HyperlinkEvent e) {
  Systemoutprintln(Link activated!);
  }
  });
  }
  
  首先獲得Form的體內容它是一個Composite對象
  
  設置其布局為GridLayout
  
  通過FormToolkit創建一個超鏈接(Hyperlink)控件
  
  添加超鏈接事件偵聽器響應超鏈接的點擊
  
  ()添加通用控件
  
  由於Form的體內容是一個Composite對象所以允許在其中創建SWT控件
  
  但是SWT控件是被設計為適合窗口對話框的所以在Form中使用是有問題的
  
  在Form中使用FormToolkit創建對應的通用控件
  
  public void createPartControl(Composite parent) {
  toolkit = new FormToolkit(parentgetDisplay());
  form = toolkitcreateScrolledForm(parent);
  formsetText(Hello Eclipse Forms);
  
  Composite body = formgetBody();
  GridLayout layout = new GridLayout();
  bodysetLayout(layout);
  Hyperlink link = toolkitcreateHyperlink(body Click hereSWTWRAP);
  linkaddHyperlinkListener(new HyperlinkAdapter() {
  public void linkActivated(HyperlinkEvent e) {
  Systemoutprintln(Link activated!);
  }
  });
  
  layoutnumColumns = ;
  GridData gd = new GridData();
  gdhorizontalSpan = ;
  linksetLayoutData(gd);
  Label label = toolkitcreateLabel(body Text field label:);
  Text text = toolkitcreateText(body );
  textsetLayoutData(new GridData(GridDataFILL_HORIZONTAL));
  textsetData(FormToolkitKEY_DRAW_BORDER FormToolkitTEXT_BORDER);
  Button button = toolkitcreateButton(bodyAn example of a checkbox in a form SWTCHECK);
  gd = new GridData();
  gdhorizontalSpan = ;
  buttonsetLayoutData(gd);
  toolkitpaintBordersFor(body);
  }
  
  上面的例子添加了三個通用控件LabelText和CheckBox
  
  由於缺省創建的Text控件的外觀是D的而要達到象PDE一樣的FLAT外觀需要做些額外工作
  
  調用setData()方法添加重畫邊框的附加信息
  
  調用FormToolkit的paintBordersFor()方法重畫FLAT外觀的邊框
From:http://tw.wingwit.com/Article/program/Java/ky/201311/28696.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.