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)
Style
Description
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>
发表于 @ 2009年04月16日 10:35:00 | 评论( 0 ) | 编辑| 举报| 收藏
旧一篇:swt定时器的实现 | 新一篇:SWT之构建FTP文件目录树
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/guijava/archive/2009/04/16/4083331.aspx
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/guijava/archive/2009/04/16/4083331.aspx
分享到:
相关推荐
对于键盘事件,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....