复杂窗口为例 : 命令行界面显示 « 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 » 命令行界面显示屏幕截图 
复杂窗口为例
复杂窗口为例


import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.layout.RowLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;

public class ComplexShellExample {
  Display d;

  Shell s;

  ComplexShellExample() {
    d = new Display();
    s = new Shell(d);
    s.setSize(250275);
    
    s.setText("A Shell Composite Example");

    GridLayout gl = new GridLayout();
    gl.numColumns = 4;
    s.setLayout(gl);
    s.setLayout(gl);

    GridComposite gc = new GridComposite(s);
    GridData gd = new GridData(GridData.FILL_BOTH);
    gd.horizontalSpan = 4;
    gc.setLayoutData(gd);
    gd = new GridData();

    RowComposite rc = new RowComposite(s);
    gd = new GridData(GridData.FILL_HORIZONTAL);
    rc.setLayoutData(gd);
    s.open();
    while (!s.isDisposed()) {
      if (!d.readAndDispatch())
        d.sleep();
    }
    d.dispose();
  }

  public static void main(String[] arg) {
    new ComplexShellExample();
  }
}

class RowComposite extends Composite {
  final Button okBtn;

  final Button cancelBtn;

  public RowComposite(Composite c) {
    super(c, SWT.NO_FOCUS);
    RowLayout rl = new RowLayout();
    rl.wrap = false;
    rl.pack = false;
    this.setLayout(rl);
    okBtn = new Button(this, SWT.BORDER | SWT.PUSH);
    okBtn.setText("OK");
    okBtn.setSize(3020);
    cancelBtn = new Button(this, SWT.BORDER | SWT.PUSH);
    cancelBtn.setText("Cancel");
    cancelBtn.setSize(3020);
    cancelBtn.addSelectionListener(new SelectionAdapter() {
      public void widgetSelected(SelectionEvent e) {
        System.out.println("Cancel was clicked");
      }
    });

  }

  public static void main(String[] arg) {
  }
}

class GridComposite extends Composite {

  public GridComposite(Composite c) {
    super(c, SWT.BORDER);
    GridLayout gl = new GridLayout();
    gl.numColumns = 3;
    this.setLayout(gl);
    final Label l1 = new Label(this, SWT.BORDER);
    l1.setText("Column One");
    final Label l2 = new Label(this, SWT.BORDER);
    l2.setText("Column Two");
    final Label l3 = new Label(this, SWT.BORDER);
    l3.setText("Column Three");
    final Text t1 = new Text(this, SWT.SINGLE | SWT.BORDER);
    final Text t2 = new Text(this, SWT.SINGLE | SWT.BORDER);
    final Text t3 = new Text(this, SWT.SINGLE | SWT.BORDER);
    final Text t4 = new Text(this, SWT.SINGLE | SWT.BORDER);
    final Text t5 = new Text(this, SWT.SINGLE | SWT.BORDER);
    final Text t6 = new Text(this, SWT.SINGLE | SWT.BORDER);

    GridData gd = new GridData();
    gd.horizontalAlignment = GridData.CENTER;
    l1.setLayoutData(gd);

    gd = new GridData();
    gd.horizontalAlignment = GridData.CENTER;
    l2.setLayoutData(gd);

    gd = new GridData();
    gd.horizontalAlignment = GridData.CENTER;
    l3.setLayoutData(gd);

    gd = new GridData(GridData.FILL_HORIZONTAL);
    t1.setLayoutData(gd);

    gd = new GridData(GridData.FILL_HORIZONTAL);
    t2.setLayoutData(gd);

    gd = new GridData(GridData.FILL_HORIZONTAL);
    t3.setLayoutData(gd);

    gd = new GridData(GridData.FILL_HORIZONTAL);
    t4.setLayoutData(gd);

    gd = new GridData(GridData.FILL_HORIZONTAL);
    t5.setLayoutData(gd);

    gd = new GridData(GridData.FILL_HORIZONTAL);
    t6.setLayoutData(gd);
  }

}

           
       
Related examples in the same category
1. 创建非矩形窗口,模拟透明创建非矩形窗口,模拟透明
2. SWT窗口:创建非矩形窗口SWT窗口:创建非矩形窗口
3. 打开一个shell窗口最大化(全屏)打开一个shell窗口最大化(全屏)
4. 打开一个shell窗口最小化( iconified )打开一个shell窗口最小化( iconified )
5. 非矩形窗SWT非矩形窗SWT
6. 控件试验
7. HelloWorld 示范HelloWorld 示范
8. 环窗口环窗口
9. 窗口风格窗口风格
10. 显示不同风格的装饰显示不同风格的装饰
11. 子窗口演示子窗口演示
12. 子窗口演示2子窗口演示2
13. 子窗口演示3子窗口演示3
14. 窗口样式范例
15. 专业窗口专业窗口
16. 复合窗口例2复合窗口例2
17. SWT综合面板类SWT综合面板类
18. 最简单的SWT最简单的SWT
19. 防止窗口关闭(提示用户)防止窗口关闭(提示用户)
20. 在SWT创建一个启动画面在SWT创建一个启动画面
21. Display example snippet: get the bounds and client area of a displayDisplay example snippet: get the bounds and client area of a display
22. 显示:按下按钮停止重复计时器显示:按下按钮停止重复计时器
23. 创建一个重复计时器(每500毫秒)创建一个重复计时器(每500毫秒)
24. 创建两个计时器( 5000毫秒, 2000毫秒)创建两个计时器( 5000毫秒, 2000毫秒)
25. 建立和处置子面板控件建立和处置子面板控件
www.java2java.com | Contact Us
Copyright 2010 - 2030 Java Source and Support. All rights reserved.
All other trademarks are property of their respective owners.