自定义组件 : 表单 « SWT-JFace-Eclipse « Java

En
Java
1. 图形用户界面
2. 三维图形动画
3. 高级图形
4. 蚂蚁编译
5. Apache类库
6. 统计图
7. 
8. 集合数据结构
9. 数据类型
10. 数据库JDBC
11. 设计模式
12. 开发相关类
13. EJB3
14. 电子邮件
15. 事件
16. 文件输入输出
17. 游戏
18. 泛型
19. GWT
20. Hibernate
21. 本地化
22. J2EE平台
23. 基于J2ME
24. JDK-6
25. JNDI的LDAP
26. JPA
27. JSP技术
28. JSTL
29. 语言基础知识
30. 网络协议
31. PDF格式RTF格式
32. 映射
33. 常规表达式
34. 脚本
35. 安全
36. Servlets
37. Spring
38. Swing组件
39. 图形用户界面
40. SWT-JFace-Eclipse
41. 线程
42. 应用程序
43. Velocity
44. Web服务SOA
45. 可扩展标记语言
Java 教程
Java » SWT-JFace-Eclipse » 表单屏幕截图 
自定义组件
自定义组件


/*******************************************************************************
 * All Right Reserved. Copyright (c) 1998, 2004 Jackwind Li Guojie
 
 * Created on 2004-6-14 10:55:42 by JACK $Id$
 *  
 ******************************************************************************/
import org.eclipse.jface.window.ApplicationWindow;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.forms.HyperlinkGroup;
import org.eclipse.ui.forms.events.ExpansionAdapter;
import org.eclipse.ui.forms.events.ExpansionEvent;
import org.eclipse.ui.forms.events.HyperlinkAdapter;
import org.eclipse.ui.forms.events.HyperlinkEvent;
import org.eclipse.ui.forms.events.IHyperlinkListener;
import org.eclipse.ui.forms.widgets.ExpandableComposite;
import org.eclipse.ui.forms.widgets.Form;
import org.eclipse.ui.forms.widgets.FormText;
import org.eclipse.ui.forms.widgets.FormToolkit;
import org.eclipse.ui.forms.widgets.Hyperlink;
import org.eclipse.ui.forms.widgets.ImageHyperlink;
import org.eclipse.ui.forms.widgets.Section;
import org.eclipse.ui.forms.widgets.TableWrapLayout;

public class CustomWidgets extends ApplicationWindow {
  FormToolkit toolkit;
  Form form;

  /**
   @param parentShell
   */
  public CustomWidgets(Shell parentShell) {
    super(parentShell);
  }
  
  private void demoSections() {
    form.getBody().setLayout(new TableWrapLayout());
    
    Section section = toolkit.createSection(form.getBody(), Section.DESCRIPTION | 
        Section.TREE_NODE | Section.EXPANDED);
    
    section.setText("This is the title");
    toolkit.createCompositeSeparator(section);
    section.setDescription("-= This is a description -=");
    
    FormText text = toolkit.createFormText(section, false);
    text.setText(
      "This is a long text. The user can show or hide this text "
        "by expanding or collapsing the expandable composite.",
      false,
      false);
    section.setClient(text);
  }
 
  private void demoExpandableComposite() {
    form.getBody().setLayout(new TableWrapLayout());

    ExpandableComposite ec1 =
      toolkit.createExpandableComposite(
        form.getBody(),
        ExpandableComposite.TREE_NODE | ExpandableComposite.EXPANDED);
    ec1.setText("This is the title");

    FormText text = toolkit.createFormText(ec1, false);
    text.setText(
      "This is a long text. The user can show or hide this text "
        "by expanding or collapsing the expandable composite.",
      false,
      false);
    ec1.setClient(text);

    ec1.addExpansionListener(new ExpansionAdapter() {
      public void expansionStateChanged(ExpansionEvent e) {
        // resizes the application window.
        getShell().pack(true);
      }
    });
  }

  private void demoFormTextXML() {
    form.getBody().setLayout(new TableWrapLayout());
    FormText text = toolkit.createFormText(form.getBody()true);

    Image image = new Image(form.getDisplay()"icons/eclipse0.gif");
    text.setImage("eclipse", image);
    text.setText(
      "<form>"
        "<p><img href=\"eclipse\"/> Eclipse Projects: </p>"
        "<li><b>Platform</b> - Eclipse frameworks</li>"
        "<li><b>JDT</b> - Java development tools</li>"
        "<li><b>PDE</b> - Plug-in development environment</li>"
        "</form>",
      true,
      false);

  }

  private void demoFormTextNormal() {
    form.getBody().setLayout(new TableWrapLayout());

    FormText text = toolkit.createFormText(form.getBody()true);
    // text.setLayoutData(new TableWrapData(TableWrapData.FILL));

    text.setText(
      "Eclipse is a kind of universal tool platform - an open extensible "
        "IDE for anything and nothing in particular. For more details, please "
        "visit http://www.eclipse.org for more details.",
      false,
      false);

  }

  private void demoFormTextURL() {
    form.getBody().setLayout(new TableWrapLayout());

    FormText text = toolkit.createFormText(form.getBody()true);

    HyperlinkGroup group = new HyperlinkGroup(form.getDisplay());
    group.setForeground(form.getDisplay().getSystemColor(SWT.COLOR_BLUE));
    group.setActiveForeground(
      form.getDisplay().getSystemColor(SWT.COLOR_BLUE));

    text.setHyperlinkSettings(group);

    text.setText(
      "Eclipse is a kind of universal tool platform - an open extensible "
        "IDE for anything and nothing in particular. For more details, please "
        "visit http://www.eclipse.org web site.",
      false,
      true);

    text.addHyperlinkListener(new HyperlinkAdapter() {
      public void linkActivated(HyperlinkEvent e) {
        System.out.println("Link activated: " + e.getHref());
      }
    });

  }

  private void demoHyperlinks() {
    form.getBody().setLayout(new GridLayout());

    Hyperlink hyperlink =
      toolkit.createHyperlink(
        form.getBody(),
        "This is a hyperlink to Eclipse.org",
        SWT.NULL);
    hyperlink.setHref("http://www.eclipse.org");
    hyperlink.setForeground(
      getShell().getDisplay().getSystemColor(SWT.COLOR_BLUE));
    hyperlink.addHyperlinkListener(new IHyperlinkListener() {
      public void linkEntered(HyperlinkEvent e) {
        System.out.println("Mouse entered.");
      }

      public void linkExited(HyperlinkEvent e) {
        System.out.println("Mouse left.");
      }

      public void linkActivated(HyperlinkEvent e) {
        System.out.println("Hyperlink activated.");
        System.out.println("HREF = " + e.getHref());
      }
    });

    ImageHyperlink imageHyperlink =
      toolkit.createImageHyperlink(form.getBody(), SWT.NULL);
    imageHyperlink.setText("This is an image hyperlink.");
    imageHyperlink.setForeground(
      getShell().getDisplay().getSystemColor(SWT.COLOR_BLUE));
    imageHyperlink.setImage(
      new Image(getShell().getDisplay()"icons/eclipse0.gif"));
    imageHyperlink.addHyperlinkListener(new HyperlinkAdapter() {
      public void linkActivated(HyperlinkEvent e) {
        System.out.println("Image hyperlink activated.");
      }
    });

    HyperlinkGroup group = new HyperlinkGroup(getShell().getDisplay());
    group.add(hyperlink);
    group.add(imageHyperlink);

    group.setActiveBackground(
      getShell().getDisplay().getSystemColor(SWT.COLOR_YELLOW));
    group.setActiveForeground(
      getShell().getDisplay().getSystemColor(SWT.COLOR_RED));
    group.setForeground(
      getShell().getDisplay().getSystemColor(SWT.COLOR_BLUE));
  }

  /*
   * (non-Javadoc)
   
   * @see org.eclipse.jface.window.Window#createContents(org.eclipse.swt.widgets.Composite)
   */
  protected Control createContents(Composite parent) {
    Composite composite = new Composite(parent, SWT.NULL);
    composite.setLayout(new FillLayout());

    // Sets up the toolkit.
    toolkit = new FormToolkit(getShell().getDisplay());

    // Creates a form instance.
    form = toolkit.createForm(composite);
    form.setLayoutData(new GridData(GridData.FILL_BOTH));

    // Sets title.
    form.setText("Custom Form Widgets Demo");

    // demoHyperlinks();
    
    // demoFormTextNormal();
    // demoFormTextURL();
    // demoFormTextXML();

    // demoExpandableComposite();
    demoSections();

    return composite;
  }

  public static void main(String[] args) {
    CustomWidgets win = new CustomWidgets(null);
    win.setBlockOnOpen(true);

    win.open();
  }

}

           
       
Related examples in the same category
1. 电子邮件表单电子邮件表单
2. 简单的表格1简单的表格1
3. HTML表单HTML表单
www.java2java.com | Contact Us
Copyright 2010 - 2030 Java Source and Support. All rights reserved.
All other trademarks are property of their respective owners.