`

SWT中Display和Shell是个什么东东

    博客分类:
  • SWT
 
阅读更多
Display:与操作系统沟通的桥梁

  我们在前面说过,每个swt程序在最开始都必须创建一个Display对象。Display对象起什么作用呢?它是swt与操作系统沟通的一座桥梁。它负责swt和操作系统之间的通信。它将swt/JFace的各种调用转化为系统的底层调用,控制操作系统为swt分配的资源。同时我们也可以通过Display对象得到操作系统的一些信息。

  Display是一个“幕后工作者”,它为swt/JFace提供支持,但是你并不能够从某个用户界面中看到它的影子。

  在前面的Hello,world!程序中,我们可以看到构建一个Display对象是和普通的java对象一样通过构造函数实现的。它为实现图形界面预备了最基本的条件。而在程序结束时我们必须显式地调用dispose() 方法来释放程序运行中所获得的资源。一般来说,一个程序只需要一个Display对象,当然没有人禁止你创建多个Display对象。但是在swt的javadoc中,我们可以看到关于这个问题一些描述:

“applications which are built with SWT will almost always require only a single display. In particular, some platforms which SWT supports will not allow more than one active display. In other Words, some platforms do not support creating a new display if one already exists that has not been sent the dispose() message.”
Shell:窗口

  一个Shell对象就是一个窗口。你可以在上面放置各种部件创建丰富的图形界面。

  我们都知道窗口有很多种,比如窗口有可以调整大小的,有不可以的,有的没有最大化最小化按钮。这些窗体的特征在swt中被成为风格(style)。一个窗体的风格可以用一个整数进行定义。这些风格的定义在org.eclipse.swt.SWT中。
 
  Shell对象可用的风格包括:BORDER, CLOSE, MIN, MAX, NO_TRIM, RESIZE, TITLE , PLICATION_MODAL, MODELESS, PRIMARY_MODAL,S YSTEM_MODAL

 

分享到:
评论

相关推荐

    swt小技巧,SWT的SHELL样式

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

    SWT创建Shell窗口

    5. 显示和运行Shell:最后,我们需要调用`shell.open()`方法来显示Shell,并在一个循环中等待用户关闭窗口: ```java shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) { display....

    SWT中实现shell Canvas Composite等控件的背景透明

    SWT中实现shell Canvas Composite等控件的背景透明

    swt工具文档 swt工具文档

    4. **Layout**: SWT提供了一套布局管理器,如FillLayout、GridLayout、RowLayout和 MigLayout,用于控制Shell和Composite中Widget的排列和大小。 5. **Event和Listener**: SWT事件模型基于事件和监听器。事件是用户...

    swt的简单代码

    在Java开发中,SWT(Standard Widget Toolkit)是一个用于创建图形用户界面的库,它提供了丰富的控件和功能,与Java Swing相比,SWT更接近于操作系统原生的GUI风格。本教程将通过一个简单的代码示例来介绍如何使用...

    java SWT教程

    JFace和SWT的关系类似于MVC模式中的模型-视图控制器,JFace起到了控制器的作用,简化了视图的创建和管理,而SWT则作为基础的视图组件库。 【SWT程序开发步骤】 1. 获取SWT库:SWT库通常随Eclipse IDE一起提供,例如...

    swt教程 有关SWT怎么应用

    SWT Designer是一个可视化的工具,可以帮助开发者更直观地设计和构建SWT界面,它简化了UI设计过程,使得开发者无需手动编写大量布局和组件代码。 总的来说,SWT是Java GUI开发的一个强大工具,结合JFace,可以构建...

    如何在SWT中使用AWT、SWING组件

    在这个例子中,我们创建了一个`Frame`作为SWT和AWT之间的桥梁,然后在AWT `Frame`内添加了一个`Button`。 **在SWT中使用SWING组件** 对于SWING组件,我们需要使用`SWT.SWING`桥接类。下面是一个使用SWING组件的例子...

    swt资源释放问题

    Display 事件循环中,同时处理着系统队列和一个应用程序级别的自定义队列中的事件,它从这些队列中读取事件,并将这些事件传递给相应的事件监听器来完成具体的实现。 三、图形资源释放 SWT 中常见的图形资源都继承...

    Eclipse中使用SWT进行界面设计

    一个SWT应用程序主要包括三个核心部分:Display、Shell和Widgets。Display是整个UI的核心,它管理事件循环,协调UI线程与其他线程间的通信。Shell是应用程序中与操作系统窗口管理器交互的窗口,可以是主窗口(顶级...

    swt线程冲突与解决

    通过对SWT线程冲突的理解以及对同步调用和异步调用的掌握,我们可以有效地避免在多线程环境中对SWT组件的非法访问,从而提高程序的稳定性和用户体验。在实际开发过程中,根据具体的业务需求选择合适的调用方式是非常...

    swt-jface入门

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

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

    首先,我们需要理解SWT中的`Display`和`Shell`概念。`Display`是应用程序的主要窗口,而`Shell`则是用户与应用交互的窗口。在SWT中,`Shell`可以设置为可见或不可见,这直接影响到任务栏上的图标状态。 要隐藏任务...

    SWT中文教程.rar

    SWT(Standard Widget Toolkit)是Java编程环境中一个用于创建图形用户界面(GUI)的开源库,它是Eclipse项目的一部分。本教程将深入讲解SWT的基本概念、组件使用以及实际开发中的应用技巧。以下是对SWT中文教程的...

    在SWING、SWT中嵌入浏览器

    在Java编程环境中,SWING和SWT(Standard Widget Toolkit)是两种常见的图形用户界面(GUI)库,用于创建桌面应用程序。然而,有时我们可能需要在这些应用中集成Web浏览功能,比如显示网页或者运行Web应用。这篇博客...

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

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

    SWT开发教程1

    SWT的设计目标是提供一个高效、功能丰富的GUI工具包,能够与本地操作系统紧密集成,从而获得更好的性能和原生外观。在本教程中,我们将深入学习SWT开发的基本概念和实践技巧。 1. SWT简介: SWT是由Eclipse基金会...

    eclipse开发SWT应用

    2. **编写 SWT 主类**:在新建的项目中,创建一个Java类,通常这个类会继承自`org.eclipse.swt.widgets.Shell`。Shell是SWT中的顶级窗口,所有其他控件都包含在Shell中。 3. **初始化 SWT 组件**:在主类的构造函数...

    在Eclipse中用SWT设计界面

    一个SWT应用程序由三个核心组件构成:显示(Display)、壳体(Shell)和窗口部件(Widgets)。Display管理事件循环和线程间的通信,是程序运行的核心;Shell代表应用程序中的窗口,可最大化、最小化或正常化,分为...

    SWT_全接触 SWT_全接触 SWT_全接触

    1. **Display**:Display是SWT中最顶层的容器组件,它负责与底层窗口系统之间的通信。在大多数情况下,一个应用程序只需要一个Display实例。 2. **Shell**:Shell是一个窗口组件,它可以包含其他的Composite和...

Global site tag (gtag.js) - Google Analytics