- 浏览: 1152896 次
- 性别:
- 来自: 火星郊区
博客专栏
-
OSGi
浏览量:0
文章分类
- 全部博客 (695)
- 项目管理 (48)
- OSGi (122)
- java (79)
- Vaadin (5)
- RAP (47)
- mysql (40)
- Maven (22)
- SVN (8)
- 孔雀鱼 (10)
- hibernate (9)
- spring (10)
- css (3)
- 年审 (6)
- ant (1)
- jdbc (3)
- FusionCharts (2)
- struts (4)
- 决策分析 (2)
- 生活 (10)
- 架构设计 (5)
- 破解 (2)
- 狼文化 (4)
- JVM (14)
- J2EE (1)
- 应用服务器 (1)
- 我的链接 (5)
- 数学 (2)
- 报表 (1)
- 百科 (6)
- Flex (7)
- log4j (2)
- PHP (1)
- 系统 (2)
- Web前端 (7)
- linux (6)
- Office (1)
- 安全管理 (5)
- python (2)
- dom4j (1)
- 工作流 (3)
- 养生保健 (4)
- Eclipse (8)
- 监控开发 (1)
- 设计 (3)
- CAS (1)
- ZK (41)
- BluePrint (3)
- 工具 (1)
- SWT (7)
- google (2)
- NIO (1)
- 企业文化 (2)
- Windoes (0)
- RCP (7)
- JavaScript (10)
- UML (1)
- 产品经理 (2)
- Velocity (10)
- C (1)
- 单元测试 (1)
- 设计模式 (2)
- 系统分析师 (2)
- 架构 (4)
- 面试 (2)
- 代码走查 (1)
- MongoDB (1)
- 企业流程优化 (1)
- 模式 (1)
- EJB (1)
- Jetty (1)
- Git (13)
- IPV6 (1)
- JQuery (8)
- SSH (1)
- mybatis (10)
- SiteMesh (2)
- JSTL (1)
- veloctiy (1)
- Spring MVC (1)
- struts2 (3)
- Servlet (1)
- 权限管理 (1)
- Java Mina (1)
- java 系统信息 (6)
- OSGi 基础 (3)
- html (1)
- spring--security (6)
- HTML5 (1)
- java爬虫搜索 (1)
- mvc (3)
最新评论
-
Tom.X:
http://osgia.com/
将web容器置于OSGi框架下进行web应用的开发 -
chenyuguxing:
你好, 为什么我的bundle export到felix工程中 ...
在Apache Felix中运行bundle -
string2020:
<niceManifest>true</ni ...
Bundle Plugin for Maven -
jsonmong:
OSGI,是未来的主流,目前已相当成熟。应用OSGI比较好的, ...
基于OSGi的声明式服务 -
zyhui98:
貌似是翻译过来的,有很少人在linux上做开发吧
如何成为“10倍效率”开发者
sendText.addKeyListener(new KeyListener(){
public void keyPressed(KeyEvent e) {
if(e.keyCode == SWT.CR){
//让按键原有的功能失效
e.doit = false;
//执行你自己的事件
MessageBox box = new MessageBox(new Shell(), SWT.ICON_INFORMATION | SWT.OK);
box.setText("提示信息");
box.setMessage("按回车键了");
box.open();
}
}
public void keyReleased(KeyEvent e) {}
});
- package znewtest;
- import java.net.InetSocketAddress;
- import java.text.DateFormat;
- import java.text.SimpleDateFormat;
- import java.util.Date;
- import org.eclipse.swt.SWT;
- import org.eclipse.swt.events.KeyEvent;
- import org.eclipse.swt.events.KeyListener;
- import org.eclipse.swt.events.SelectionEvent;
- import org.eclipse.swt.events.SelectionListener;
- import org.eclipse.swt.layout.GridData;
- import org.eclipse.swt.layout.GridLayout;
- import org.eclipse.swt.widgets.Button;
- import org.eclipse.swt.widgets.Composite;
- import org.eclipse.swt.widgets.Display;
- import org.eclipse.swt.widgets.MessageBox;
- import org.eclipse.swt.widgets.Shell;
- import org.eclipse.swt.widgets.Text;
- public class keyWindow {
- Display display;
- Shell shell;
- GridLayout gridLayout;
- GridData layoutData;
- Composite composite;
- Text sendText;
- Text mesText;
- DateFormat formatter = new SimpleDateFormat( "HH:mm:ss" );
- public keyWindow(){
- display = Display.getDefault();
- shell = new Shell(display);
- //初始化shell
- initShell();
- layoutData = new GridData();
- layoutData.widthHint = 260 ;
- layoutData.heightHint = 200 ;
- mesText = new Text(shell, SWT.MULTI | SWT.WRAP
- |SWT.V_SCROLL |SWT.BORDER);
- mesText.setLayoutData(layoutData);
- layoutData = new GridData();
- layoutData.widthHint = 260 ;
- layoutData.heightHint = 60 ;
- sendText = new Text(shell, SWT.MULTI | SWT.WRAP
- |SWT.V_SCROLL |SWT.BORDER);
- sendText.setLayoutData(layoutData);
- sendText.setFocus();
- sendText.addKeyListener(new KeyListener(){
- public void keyPressed(KeyEvent e) {
- if (e.keyCode == SWT.CR){
- //让按键原有的功能失效
- e.doit = false ;
- //执行你自己的事件
- MessageBox box = new MessageBox( new Shell(), SWT.ICON_INFORMATION | SWT.OK);
- box.setText("提示信息" );
- box.setMessage("按回车键了" );
- box.open();
- }
- }
- public void keyReleased(KeyEvent e) {}
- });
- }
- public void open() {
- shell.open();
- while (!shell.isDisposed()) {
- if (!display.readAndDispatch()) {
- display.sleep();
- }
- }
- }
- /**
- * 设置窗口的标题、位置、大小、图标
- * @return Shell
- */
- public Shell initShell(){
- shell.setText("交谈" );
- shell.setSize(400 , 350 );
- shell.setLayout(new GridLayout());
- return shell;
- }
- /**
- * 向聊天区域添加信息
- * @param msg
- */
- public void addString(String mes)
- {
- mesText.setText(mes + "/n" + mesText.getText());
- }
- public static void main(String[] args) {
- new keyWindow().open();
- }
- }
完整示例
Color red = display.getSystemColor(SWT.COLOR_RED);
Font font = display.getSystemFont();
control.setFont(font)
SWT.WRAP |
Wrap the text to fit the visible area |
SWT.LEFT |
Left-align the label |
SWT.CENTER |
Center-align the label |
SWT.RIGHT |
Right-align the label |
SWT.SEPARATOR |
Draw a separator instead of text or an image |
SWT.HORIZONTAL |
Draw the separator horizontally |
SWT.VERTICAL |
Draw the separator vertically |
SWT.SHADOW_IN |
Draw the separator with a "shadow in" effect |
SWT.SHADOW_OUT` |
Draw the separator |
Separators
键盘事件类型
SWT.KeyDown |
A key was pressed |
SWT.KeyUp |
A key was released |
KeyEvent |
KeyListener (and KeyAdapter) |
keyPressed(KeyEvent) keyReleased(KeyEvent) |
关于event中的character特殊键值
SWT.BS |
退回 ('/b') |
SWT.CR |
回车 ('/r') |
SWT.DEL |
删除 ('/u007F') |
SWT.ESC |
ESC ('/u001B') |
SWT.LF |
换行 ('/n') |
SWT.TAB |
TAB跳格 ('/t') |
SWT.CONTROL |
<Ctrl>同 SWT.CTRL |
SWT.SHIFT |
<Shift> |
SWT.ALT |
<Alt> |
发表评论
-
RCP开发者的好去处之ICON系列(持续更新中... ...)
2012-03-31 10:13 1124为了找个合适的图片是不是头大的不像样子了?OK,我现在就 ... -
RAP 整合 Spring (基于 Spring-osgi )
2012-03-31 10:12 1386RAP 介绍请见: http://www.eclipse. ... -
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
2012-03-25 14:50 1465引用 在rcp的路径添加了mysql驱动,并添加之cla ... -
解决JFace Dialog中ScrollComposite无法滚动
2012-03-26 10:26 1594今天写了一个Jface的dialog,作为配置界面,其中有 ... -
SWT实现弹出日历控件
2012-03-27 08:00 2587实现像网页上的那种用户单击一个Text框然后框下面出现一个日历 ... -
JFace进度条
2012-03-27 08:01 1115Java代码 someB ... -
getConfigurationElementsFor 无法获得扩展点的信息
2012-03-26 10:27 1092做项目的时候RCP程序在eclipse调试环境下面运行正常 ... -
测试rcp 和 rap 何时触发 组建.addListener(SWT.xxx, new Listener() )的方法
2012-02-24 14:22 1282Java代码 直接通过反射让组建监 ... -
RAP 界面显示不完全的问题
2012-02-24 14:22 1238rap运行第一刷新界面总是刷新不完整,组件错位,后台报Layo ... -
Uploading files with RAP 1.4
2012-02-17 11:37 1617One of the new things in RAP 1. ... -
【RAP】CAS PIA 快速浏览入口地址
2012-02-07 08:23 1238下面的链接是访问RAP应用的入口。有2中方式,图片上已经注明。 ... -
RAP 与 RCP的区别
2012-02-07 08:23 1325RAP 可以让开发人员使用 JAVA API 和按照 E ... -
将Eclipse RAP部署到Tomcat中
2012-02-07 08:23 1140在上次成功将我的RCP项目迁移到浏览器中运行后,开始研究 ... -
RAP(Rich AJAX Platform)的可部署文件下载
2012-02-07 08:24 1139这是我自己做的RAP的可部署文件,可以下载下来解压到Tom ... -
Eclipse rcp/rap 开发经验总结(15) -rap如何使用js
2012-02-03 08:11 14511. 把输入的字符串当 javascript 执行 ... -
Eclipse rcp/rap 开发经验总结(14) -rap 图片、数据缓存处理
2012-02-03 08:10 1515一、概述 在进行了 rap 的基本学习之后,您对 rap ... -
Eclipse rcp/rap 开发经验总结(13) -Rap/Rcp保存按钮处理方式
2012-02-03 08:10 1084一、概述 在做项目的过程中,处理编辑区的保存机制的时候。发 ... -
Eclipse rcp/rap 开发经验总结(12) -Rap 优化之组件的销毁
2012-02-03 08:10 874一、概述 经过几个月的rap 项目实战,总结了一些小 ... -
Eclipse rcp/rap 开发经验总结(11) -rcp/rap与spring ibatis集成
2012-02-03 08:10 13151. rcp/rap 与 spring 集成 Activa ... -
Eclipse rcp/rap 开发经验总结(10) -Rap不同系统间的差异和处理方式
2012-02-01 08:01 1398平常进行 rap 程序开发一般都是在 win ...
相关推荐
对于键盘事件,SWT提供了`KeyListener`接口。我们可以实现`keyPressed(KeyEvent)`方法来监听按键被按下时的事件。在这个例子中,我们关注的是用户在`text1`文本框中按下回车键的情况。当用户按下回车键(其键码通常...
SWT定义了一系列事件类型,如`SWT.Paint`、`SWT.MouseClick`等。 ```java @Override public void addListener(int eventType, Listener listener) { super.addListener(eventType, listener); // 根据eventType...
- 用于监听键盘按键事件。 - 示例代码: ```java text1.addKeyListener(new KeyAdapter() { @Override public void keyReleased(KeyEvent e) { System.out.println("Key released: " + e.character); } }); ...
2. **事件驱动**:SWT遵循事件驱动模型,允许开发者响应用户的键盘、鼠标输入和其他事件,为应用程序添加交互性。 3. **丰富的控件集**:SWT提供了大量的控件,如按钮、文本框、列表、树视图、表视图等,满足各种...
例如,可以使用`MouseListener`和`KeyListener`来处理鼠标和键盘事件,`SelectionListener`来处理控件的选择事件。 **6. 资源管理** Swt API中的`Display`类是整个GUI的主要入口点,负责管理窗口和线程。`Shell`类...
在学习SWT时,首先需要了解它的基本概念,例如 SWT组件、布局管理以及事件处理机制。SWT组件是构建GUI的基本元素,包括Button、Label、Text、Shell等,它们对应于常见的GUI控件。每个组件都有其特定的方法和属性,...
例如,`SelectionListener`用于监听按钮点击事件,`KeyListener`和`MouseListener`分别用于处理键盘和鼠标事件。 - 通过实现特定的接口或继承抽象类,你可以定义自己的事件处理器。 4. **数据绑定**: - SWT支持...
例如,当用户在地址栏输入并按下回车键时,可以添加一个`KeyListener`监听键盘事件,然后根据输入的URL启动加载新页面的过程。同时,为了确保安全,开发者还需要考虑对URL的验证和异常处理。 最后,项目提供的`swt....
事件处理涉及添加监听器,例如MouseListener、KeyListener、SelectionListener等,用于响应用户的点击、键盘输入等操作。 在实际开发中,JFace和Eclipse RCP(Rich Client Platform)常常与SWT一起使用。JFace是...
5. 事件处理:SWT中的事件处理机制基于监听器模式,通过`addXXXListener`方法添加各种类型的监听器,如`MouseListener`、`KeyListener`、`SelectionListener`等,以便在用户与组件交互时执行相应的操作。 6. 资源...
1. 事件监听:SWT中的事件包括按钮点击、键盘输入、鼠标移动等,通过实现相关监听器接口并添加到组件上,可以捕获并处理这些事件。 2. 信号和槽:SWT采用信号和槽的概念,信号表示某个事件的发生,槽是事件发生时...
- **事件处理**:为了使控件具备更好的交互性,通常需要响应键盘事件,例如方向键用于改变列表中选中的项。 **实践步骤**: 1. **监听FocusListener**:监听控件获得或失去焦点的事件。 2. **监听KeyListener**:当...
- 事件处理(Event Handling):Draw2D支持鼠标和键盘事件,可以为Figure添加监听器来响应用户交互。 7. 示例应用: Draw2D常用于创建图表、流程图、网络拓扑图等。例如,开发者可以使用Draw2D创建一个可交互的流程...
4. 用户交互:SWT提供了丰富的事件监听机制,例如`MouseListener`和`KeyListener`,用于处理用户的点击和键盘输入。通过监听这些事件,我们可以实现拖放功能,允许用户通过鼠标选择和移动拼图块。 5. 恢复功能:...
- **响应用户输入**:通过监听器处理用户的鼠标和键盘事件。 - **直接编辑功能**:允许用户直接在图形上进行编辑操作,提高用户体验。 - **连接操作**:使用`Connector`实现图形之间的连接。 #### 七、撤销/重做...
2. **事件处理**:SWT使用监听器模式处理用户交互,通过添加Listener、ActionListener等接口,可以响应用户的点击、键盘输入等事件。 3. **JFace的数据绑定**:JFace的DataBinding允许开发者将UI控件与模型对象的...
- **Event和Listener**: SWT事件模型允许用户响应各种事件,如鼠标点击、键盘输入等。 **3. 安装SWT类库** 我们提到的是SWT-4.2.2-win32-win32-x86版本,这是针对32位Windows系统的。安装过程包括以下几个步骤: 1....