`
huanglz19871030
  • 浏览: 248838 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

SWT创建Shell窗口

    博客分类:
  • SWT
阅读更多

通过不同的方式创建Shell窗口.(创建工程的时候需引入SWT包)
代码如下:

Java代码 复制代码
  1. import org.eclipse.swt.SWT;   
  2. import org.eclipse.swt.graphics.Image;   
  3. import org.eclipse.swt.widgets.Display;   
  4. import org.eclipse.swt.widgets.Shell;   
  5.   
  6. public class ShellTest {   
  7.     /*  
  8.      * 通过display来创建shell Shell(Display display)  
  9.      */  
  10.     public static void createShell1() {   
  11.         // 新建一个Display对象   
  12.         Display display = new Display();   
  13.         // 根据已创建的Display对象新建一个Shell对象   
  14.         // Shell的实例表示当前受Windows所管理的窗口   
  15.         Shell shell = new Shell(display);   
  16.         // 设置shell的大小(宽度和高度)   
  17.         shell.setSize(500500);   
  18.         // 设置shell的窗口名   
  19.         shell.setText("shell demo");   
  20.         // 打开shell窗口   
  21.         shell.open();   
  22.         // 控制窗口不关闭,如果没有下面的代码,窗口会立即自动关闭   
  23.         while (!shell.isDisposed()) {   
  24.             // 监听用户所引发的事件   
  25.             if (!display.readAndDispatch()) {   
  26.                 // 让窗口处于睡眠状态   
  27.                 display.sleep();   
  28.             }   
  29.         }   
  30.         // 当用户关闭窗口时,释放display占用的内存资源   
  31.         display.dispose();   
  32.     }   
  33.   
  34.     /*  
  35.      * 通过display和样式值来创建shell Shell(Display display[,int style])  
  36.      */  
  37.     public static void createShell2() {   
  38.         // 新建一个Display对象   
  39.         Display display = new Display();   
  40.         // 根据已创建的Display对象和样式值新建一个Shell对象   
  41.         // 可以通过|来组全不同的样式值来达到特定的效果   
  42.         Shell shell = new Shell(display, SWT.RESIZE | SWT.CLOSE   
  43.                 | SWT.BORDER_SOLID);   
  44.         // 设置shell的大小(宽度和高度)   
  45.         shell.setSize(500500);   
  46.         // 设置shell的窗口名   
  47.         shell.setText("shell demo");   
  48.         // 打开shell窗口   
  49.         shell.open();   
  50.         // 控制窗口不关闭,如果没有下面的代码,窗口会立即自动关闭   
  51.         while (!shell.isDisposed()) {   
  52.             // 监听用户所引发的事件   
  53.             if (!display.readAndDispatch()) {   
  54.                 // 让窗口处于睡眠状态   
  55.                 display.sleep();   
  56.             }   
  57.         }   
  58.         // 当用户关闭窗口时,释放display占用的内存资源   
  59.         display.dispose();   
  60.     }   
  61.   
  62.     /*  
  63.      * 在父Shell上创建子Shell Shell(Shell parent[,int tyle])  
  64.      */  
  65.     public static void createChildShell() {   
  66.         Display display = new Display();   
  67.         // 创建父Shell   
  68.         Shell parent = new Shell(display);   
  69.         parent.setSize(500500);   
  70.         parent.setText("parent");   
  71.         parent.open();   
  72.         // 在父Shell的基础之上创建几个子Shell   
  73.         Shell cs1 = new Shell(parent);   
  74.         cs1.setSize(250250);   
  75.         cs1.setText("child1");   
  76.         cs1.open();   
  77.   
  78.         Shell cs2 = new Shell(parent);   
  79.         cs2.setSize(250250);   
  80.         cs2.setText("child2");   
  81.         cs2.open();   
  82.   
  83.         Shell cs3 = new Shell(parent);   
  84.         cs3.setSize(250250);   
  85.         cs3.setText("child3");   
  86.         cs3.open();   
  87.   
  88.         while (!parent.isDisposed()) {   
  89.             if (!display.readAndDispatch()) {   
  90.                 display.sleep();   
  91.             }   
  92.         }   
  93.         display.dispose();   
  94.     }   
  95.   
  96.     /*  
  97.      * 创建模态窗口的对话框  
  98.      */  
  99.     public static void createDialog() {   
  100.         Display display = new Display();   
  101.         Shell parent = new Shell(display);   
  102.         parent.setSize(500500);   
  103.         parent.setText("parent");   
  104.         parent.setImage(new Image(display, "images/Info.png"));   
  105.         parent.open();   
  106.         // 通过SWT.DIALOG_TRIM|SWT.APPLICATION_MODAL样式值来创建dialog   
  107.         Shell dialog = new Shell(parent, SWT.DIALOG_TRIM   
  108.                 | SWT.APPLICATION_MODAL);   
  109.         dialog.setSize(200200);   
  110.         dialog.setText("dialog");   
  111.         dialog.setImage(new Image(display, "images/Alert.png"));   
  112.         dialog.open();   
  113.   
  114.         while (!parent.isDisposed()) {   
  115.             if (display.readAndDispatch()) {   
  116.                 display.sleep();   
  117.             }   
  118.         }   
  119.         display.dispose();   
  120.     }   
  121.   
  122.     public static void main(String[] args) {   
  123.          ShellTest.createShell1();   
  124.          //ShellTest.createShell2();   
  125.          //ShellTest.createChildShell();   
  126.          //ShellTest.createDialog();   
  127.     }   
  128. }  
分享到:
评论

相关推荐

    swt小技巧,SWT的SHELL样式

    在SWT中,`Shell`对象是最基本的窗口容器,所有其他控件都必须放置在一个`Shell`对象内。`Shell`对象支持多种样式设置,通过这些样式可以定制窗口的行为和外观。 #### 二、SWT.SHELL样式详解 SWT中的`Shell`样式...

    swt创建tree的例子

    2. **创建Shell** Shell是SWT中的顶级窗口,所有其他控件都将在其内部创建。你可以这样创建一个基本的Shell: ```java Display display = new Display(); Shell shell = new Shell(display); shell.setText(...

    swt的简单代码

    这段代码首先创建了一个Display对象,然后创建一个Shell窗口,并设置其文本为"SWT Example"。使用FillLayout确保窗口内的组件会填充整个窗口。最后,程序进入主循环,处理事件直到窗口被关闭。 总的来说,SWT提供了...

    SWT/JFACE客户端登录窗口例子

    这些控件需要通过 `Display` 和 `Shell` 来创建并显示在窗口上。 2. **JFace 视图和控制器**:JFace 提供了 `ViewPart` 类,它是 Eclipse RCP 应用中的视图基础。在这里,可能会有一个自定义的 `ViewPart` 实现登录...

    java swt 窗口靠边自动隐藏

    1. **创建Shell**:首先,创建一个Shell对象,设置其基本属性,如标题、大小和位置。 2. **添加ResizeListener**:给Shell添加一个ResizeListener,当窗口大小改变时,会触发这个监听器的`resize`方法。 3. **实现...

    SWT隐藏任务栏图标

    这可能涉及到SWT源码中的特定平台处理,或者可能涉及到在创建Shell后,通过系统级别的API调用来实现隐藏任务栏图标的目的。由于没有具体的代码示例,我们无法给出确切的实现细节。但是,可以明确的是,解决这个问题...

    swt背景拖动不将图片拖出窗口

    1. **创建Shell对象**: 首先,我们需要创建一个 `Shell` 对象,这是SWT中的顶级窗口。例如: ```java Display display = Display.getDefault(); Shell shell = new Shell(display); ``` 2. **设置Shell的大小...

    java SWT教程

    // 创建Shell(窗口) shell.setText("Hello SWT"); // 设置窗口标题 shell.setSize(300, 200); // 设置窗口大小 Text text = new Text(shell, SWT.BORDER); // 创建文本框 text.setBounds(50, 50, 200, 30); ...

    java swt 隐藏和显示任务栏图标和托盘图标(2)

    在Java编程环境中,SWT(Standard Widget Toolkit)是一个强大的库,用于创建本地化的图形用户界面(GUI)。SWT是Eclipse项目的一部分,它允许开发者利用操作系统原生的UI控件,提供更接近操作系统风格的用户体验。...

    Shell和frame窗体关闭确认窗口

    1. **创建Display和Shell实例**:与Swing类似,SWT也提供了一个顶层容器`Shell`用于创建窗口。同样地,还需要创建一个`Display`对象来控制窗口的显示。 2. **设置Shell属性**:设置了Shell的大小和标题。 3. **添加...

    SWT配置 SWT配置 SWT配置 SWT配置 SWT配置

    - **Classpath变量**:如果计划开发多个使用SWT的项目,建议创建一个Classpath变量指向`swt.jar`的位置,以便在不同项目中重用。 - **持续性问题**:需要注意的是,上述设置的Classpath和原生库路径并不会自动应用于...

    SWT入门.docx

    `Shell`类是创建GUI窗口的核心,你可以通过它创建新的窗口或从父Shell中创建子窗口。Shell的样式可以通过组合不同的样式常量来定制,例如: - `SWT.BORDER`:创建带边框的无标题窗口。 - `SWT.CLOSE`:创建只包含...

    swt教程 有关SWT怎么应用

    SWT是由IBM公司为Eclipse集成开发环境设计的一种图形用户界面(GUI)工具包,它通过JNI(Java Native Interface)与底层操作系统紧密集成,提供了可移植的API,使得开发者可以创建与操作系统原生应用相似的外观和...

    swt工具文档 swt工具文档

    SWT(Standard Widget Toolkit)是Java编程环境中一个用于创建图形用户界面(GUI)的开源库。它是Eclipse项目的一部分,旨在提供与操作系统更紧密的集成,使得开发者可以创建原生外观的应用程序。SWT提供了丰富的...

    SWT的简单实例

    4. **SHELL**: SHELL是SWT中的顶级窗口对象,相当于其他GUI库中的 JFrame 或 Window。它是所有其他控件的容器,定义了应用程序的主窗口。你可以设置SHELL的标题、大小、位置以及关闭事件等。 在描述中提到,这个...

    swt-jface入门

    创建一个基本的SWT程序通常涉及导入必要的SWT库,然后创建Display和Shell对象。Display是SWT中用于管理窗口系统的对象,而Shell则代表应用程序的主要窗口。以下是一个简单的SWT "Hello world"程序示例: ```java ...

    Eclipse中使用SWT进行界面设计

    Shell是应用程序中与操作系统窗口管理器交互的窗口,可以是主窗口(顶级Shell)或对话框(Dialog Shell)。Shell的样式可以通过风格位(style bits)在创建时设定,如最大化、最小化或普通状态。Widgets则是构成用户...

    eclipse开发SWT应用

    **Eclipse开发SWT应用详解**...通过学习和实践,开发者可以利用SWT创建高效且具有原生外观的Java GUI应用,尤其适合需要高性能图形界面的场景。同时,结合Eclipse强大的开发工具支持,可以提高开发效率,降低学习曲线。

    SWT界面编程知识汇总

    2. **创建Shell**:`Shell`是SWT中的窗口对象,相当于其他GUI库中的Frame或Window。`new Shell(display)`创建了一个新的Shell,它需要Display对象作为参数。 3. **设置Shell的布局**:布局管理器决定了窗口内组件的...

Global site tag (gtag.js) - Google Analytics