- 浏览: 403962 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
zyu67:
这个类运行不起来呀 这类如何导出数据呀
一个数据库连接Java工具类和数据迁移类 -
kobe7777:
你好,请问我想写个excelToExcel 另存一个excel ...
Jacob 另存为Word、Excel -
di1984HIT:
记录一下学习。
Eclipse 平台架构 -
di1984HIT:
鞋的不错啊。呵呵额
一个数据库连接Java工具类和数据迁移类 -
Jameslyy:
确认jacob dll是否已经放入系统路径,jacob版本不同 ...
Jacob 另存为Word、Excel
创建了一个display对象和一些用户界面部件,启动应用程序的消息循环,当有事件发生时,应用程序从消息队列中读取到事件并分发给部件。这就是SWT程序的运行机制。大部分应用程序的逻辑都是在处理用户事件。
基本的模式是为小部件加上监听器(listener),当对应的事件被触发时,监听器就会被执行,下面是一个简单的列子:
Display display = new Display (); Shell shell = new Shell (display); Label label = new Label (shell, SWT.CENTER); ... shell.addControlListener (new ControlAdapter () { public void controlResized (ControlEvent e) { label.setBounds (shell.getClientArea ()); } });
对于每一种监听器(listener),对应一个定义监听器的接口(XyzListener),一个提供事件信息的类(XyzEvent),和一个添加监听器的API方法(addXyzListener),如果监听器定义了多于一个的方法,会有一个实现了监听器接口的适配器(XyzAdapter),适配器提供了空方法。所有的这些事件(events)、监听器(listeners)和适配器(adapters)都定义在包org.eclipse.swt.events 中。
事件可以分为两类,一类是高层事件,表示发生在控件上的逻辑操作,一类是底层事件,描述更为具体的用户交互动作,高层的事件可能是由多个平台相异的事件表示的,一般情况下,底层事件应该仅用于自定制的用户界面部件的实现中。
下面列出了SWT中的事件类型:
High level Events:
Activate, Deactivate
Generated when a Control is activated or deactivated.
控件被激活或失去激活状态时产生的事件
Arm
A MenuItem is armed (highlighted and ready to be selected).
菜单项获得焦点时触发的事件
Close
A Shell is about to close as requested by the window manager.
关闭shell窗口触发的事件
DefaultSelection
The user selects an item by invoking a default selection action. For example, by hitting Enter or double clicking on a row in a Table.
当用户执行一个默认的选择动作是触发的事件,例如按下回车键或双击表格中的一行。
Dispose
A widget is about to be disposed, either programmatically or by user.
程序或者用户销毁小部件时触发的事件
DragDetect
The user has initiated a possible drag operation.
当用户做拖动操作触发的事件
EraseItem
A TableItem or TreeItem is about to have its background drawn.
绘制表格的行或这树的节点的背景时触发的事件
Expand, Collapse
An item in a Tree is expanded or collapsed.
展开或销毁树的节点时触发的事件
Help
The user has requested help for a widget. For example, this occurs when the F1 key is pressed under Windows.
用户请求帮助时触发的事件,例如在Windows系统中按下F1键。
Iconify, Deiconify
A Shell has been minimized, maximized, or restored.
最小化、最大化、恢复 shell窗口时触发的事件
ImeComposition
Allows custom text editors to implement in-line editing of international text.
允许定制文本编辑器实现行内编辑多国文本内容。
MeasureItem
The size of a custom drawn TableItem or TreeItem is being requested.
获取自定制的表格的行或树的节点的尺寸时触发的事件
MenuDetect
The user has requested a context menu.
用户请求上下文菜单时触发
Modify
The widget's text has been modified.
修改文本内容时触发
Move, Resize
A control has changed position or has been resized, either programmatically or by user.
通过程序或者用户直接移动控件位置,或改变控件大小时触发的事件,
Movement
An updated caret offset is needed in response to a user action in a StyledText.
指针偏移时触发
OpenDocument
The operating system has requested that a document be opened.
操作系统请求打开文档时触发
OrientationChange
The orientation of a Text control is changing.
文本控件改变方向时触发
PaintItem
A TableItem or TreeItem is about to have its foreground drawn.
改变表格的行或树的节点前景时触发
Selection
The user selects an item in the control. For example, by single clicking on a row in a Table or by keyboard navigating through the items.
用户选择控件的一个项时触发,例如点击表格中的一行,或者用键盘的方向键选择UI项时
SetData
Data needs to be set on a TableItem when using a virtual table.
为控件设置数据时触发
Settings
An operating system property, such as a system font or color, has been changed.
操作系统属性,例如系统字体和颜色,发生变化是触发
Show, Hide
A control's visibility has changed.
控件显示状态发生变化时触发
Traverse
The user is trying to traverse out of the control using a keystroke. For example, the escape or tab keys are used for traversal.
使用escape键改变状态时 或 使用tab键使得控件焦点发生变化时触发的事件
Verify
A widget's text is about to be modified. This event gives the application a chance to alter the text or prevent the modification.
当修改文本框的内容时,这个事件使得应用程序有机会能够修改文本内容或阻止内容的修改。
Low level events:
FocusIn, FocusOut
A control has gained or lost focus.
控件获得或失去焦点时触发的事件
KeyDown, KeyUp
The user has pressed or released a keyboard key when the control has keyboard focus.
控件拥有键盘焦点,同时用户按下或释放键盘键时触发的事件
MouseDown, MouseUp, MouseDoubleClick
The user has pressed, released, or double clicked the mouse over the control.
用户在控件上按下、释放或双击鼠标时触发的事件
MouseMove
The user has moved the mouse above the control.
用户在控件上移动鼠标时触发的事件
MouseEnter, MouseExit, MouseHover
The mouse has entered, exited, or hovered over the control.
鼠标进入、离开或悬浮在控件上时触发的事件
MouseHorizontalWheel, MouseVerticalWheel, MouseWheel
The mouse wheel has been rotated.
鼠标滚轮滚动时触发的控件
Paint
The control has been damaged and requires repainting.
控件重绘时触发的事件
附:
发表评论
-
插件开发——基于Action的基本平台扩展点 二 : viewActions
2011-01-12 16:35 1908org.eclipse.ui.viewActions 通过插 ... -
插件开发——基于Action的基本平台扩展点
2011-01-12 15:31 1340工作台定义了一定数量的扩展点,帮助插件向已经存 ... -
插件开发—— 通过插件扩展工作台
2011-01-12 01:15 1489现在,你应该对工作台的操作和怎样使用视图和编辑 ... -
Eclipse 运行时概述 Part 3 —— 并行框架
2011-01-10 18:11 1369并行框架(Concurrency infras ... -
Eclipse 运行时概述 Part 2 —— 内容类型
2011-01-07 17:59 1460内容类型(Content Type) ... -
Eclipse 运行时概述
2011-01-05 17:45 2431Eclipse 运行时(Runtime)概述 ... -
Eclipse 平台架构
2011-01-05 00:25 28671. Eclipse 平台架构 Eclips ... -
SWT Part 7 —— Graphics (绘图)
2010-12-29 17:04 2846Graphics SWT 提供了一个图形引擎 ... -
SWT Part 6 —— Error Handling (错误处理)
2010-12-29 13:52 1401Error handling SWT 可以抛 ... -
SWT Part 5 —— 多线程
2010-12-22 23:22 2076在使用SWT构建应用程序时,理解系统底层读取和 ... -
SWT Part 2 —— Controls(控件)
2010-12-22 09:26 1943Control (控件)就是我们能够在用户界面上看到的 ... -
SWT —— Standard Widget Toolkit
2010-12-21 16:24 19201.1 SWT— Standard Widget Toolki ... -
Project Builders and Natures In Eclipse
2010-10-29 18:24 2405Project natures allow a plug-in ... -
Web Facet Installation Delegate in WTP
2010-08-25 16:00 1146plugin: org.eclipse.jst.j2ee.we ... -
SWT 日期时间选择控件
2008-12-26 16:18 8089Eclipse 3.3 及 更新的版本 // DateTi ... -
OSGI 资源
2008-03-03 11:25 1901OSGi Alliance | Main / OSGi All ... -
eRCP 嵌入式富客户端平台
2008-01-08 15:55 1817嵌入式富客户端平台,embedded Rich Client ... -
GEF (二) -- 创建模型的可视化视图(Graphical View)
2008-01-04 18:35 2898创建了模型和显示 ... -
GEF (一) -- GEF简介及控制器EditPart
2008-01-04 11:19 3676一 GEF简介 GEF ... -
GEF EMF GMF 资源
2007-12-14 11:16 3902alphaWorks Eclipse technology. ...
相关推荐
### SWT JFace 按键、事件、监听 #### 概述 SWT(Standard Widget Toolkit)是Eclipse平台下的图形界面开发工具包,而JFace则是基于SWT之上的高级用户界面工具集。SWT提供了低级别的组件,用于创建跨平台的图形...
SWT事件类通常包含处理事件所需的所有信息,而监听器接口只有一个`handleEvent(Event)`方法,这个方法会接收到所有类型的事件。因此,在SWT中处理事件通常需要在`handleEvent`方法内根据事件类型进行判断。 对比三...
#### ControlEvent:控件事件 - **监听器和适配器**:`ControlListener`和`ControlAdapter` - **监听器中的方法**: - `controlMoved()`: 当控件的位置发生改变时触发。 - `controlResized()`: 当控件的大小发生...
3. 布局管理:SWT提供了多种布局管理器来控制组件在表单中的位置和大小,这对于创建美观且适应不同屏幕尺寸的界面至关重要。 4. 事件处理:SWT支持事件驱动编程,用户可以通过监听和处理事件(如按钮点击、文本更改...
3. **组件选择事件**: 虽然在提供的代码中没有直接涉及到组件选择事件,但SWT提供`SelectionListener`接口来处理这种事件。例如,如果有一个`Button`或`ComboBox`,我们可以监听用户对其的选择,然后执行相应的...
第2篇介绍了SWT基本控件的使用,以及事件处理、布局等SWT基本知识的应用。第3篇介绍了关于SWT的高级应用。第4篇介绍了JFace 框架的知识及其应用。第5篇介绍了最新的RCP应用程序的开发。 本书结构清晰,注重实用,...
在这个事件处理器中,我们同样获取 TableItem 的文本内容,并使用 `event.gc.drawText(text, event.x, event.y + offset2, true)` 方法将其绘制到 TableItem 上。`offset2` 的计算是为了使得文本在垂直方向上居中...
Java SWT用户注册源代码,带事件处理.
SwtDesigner3SwtDesigner3SwtDesigner3SwtDesigner3SwtDesigner3SwtDesigner3SwtDesigner3
第2篇介绍了SWT基本控件的使用,以及事件处理、布局等SWT基本知识的应用。第3篇介绍了关于SWT的高级应用。第4篇介绍了JFace 框架的知识及其应用。第5篇介绍了最新的RCP应用程序的开发。 本书结构清晰,注重实用,...
第2篇介绍了SWT基本控件的使用,以及事件处理、布局等SWT基本知识的应用。第3篇介绍了关于SWT的高级应用。第4篇介绍了JFace 框架的知识及其应用。第5篇介绍了最新的RCP应用程序的开发。 本书结构清晰,注重实用,...
此外,SWT还支持事件处理、布局管理以及对话框等特性,使得开发者可以方便地构建复杂的用户界面。 为了在64位Java环境中使用这个库,开发人员需要确保他们的Java开发环境(JDK)也是64位的,因为32位的JDK无法识别...
5. **Event和Listener**: SWT事件模型基于事件和监听器。事件是用户与GUI交互时发生的行为,如点击按钮或改变文本;监听器是注册在Widget上以响应这些事件的代码。 **SWT的主要特点** 1. **原生外观**: SWT通过...
SWT定义了一系列事件类型,如`SWT.Paint`、`SWT.MouseClick`等。 ```java @Override public void addListener(int eventType, Listener listener) { super.addListener(eventType, listener); // 根据eventType...
**SWT教程——Java开发中的图形用户界面设计** SWT(Standard Widget Toolkit)是Java编程环境中用于构建桌面应用程序的一种GUI库。它由Eclipse基金会维护,是Eclipse IDE的基础组件之一,提供了丰富的用户界面控件...
5. **Paint Event**:当需要更新界面时,SWT会触发Paint Event。开发者可以重写`paint`方法来绘制自定义内容。 ### SWT进阶 1. **Drag and Drop**:SWT支持拖放操作,允许用户通过鼠标将数据从一个地方移动到另一...
4. **EventTable**:SWT的EventTable是事件管理的核心,它存储了事件监听器并处理事件分发。UI组件可以通过addXXListener方法将监听器添加到EventTable,从而接收事件。 5. **CustomPaint**:对于自定义绘制的需求...
4. 良好的事件处理机制:SWT支持事件驱动编程,允许开发者响应用户的操作。 5. 跨平台:虽然SWT依赖于特定操作系统的库,但Eclipse项目提供了多个平台的版本,如Windows、Linux、Mac OS等。 在"swt-3.7.2-win32-win...
swt designer 6.9.5 part4 of part4介绍见part1