import org.eclipse.swt.SWT;
import org.eclipse.swt.events.ModifyEvent;
import org.eclipse.swt.events.ModifyListener;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
public class TestText {
public static void main(String[] args) {
Display display = new Display();
final Shell shell = new Shell(display);
shell.setLayout(new GridLayout(1, false));
// 创建Label,设定提示信息
Label label = new Label(shell, SWT.WRAP);
label.setText("Input your zip code/n"
+ "Note,only digit or letter is valid!");
// 创建可编辑Text
final Text text = new Text(shell, SWT.BORDER);
// 创建不可编辑Text组件,用于输出提示信息
final Text hintText = new Text(shell, SWT.READ_ONLY);
hintText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
// 为text组件加入文本修改事件监听器
text.addModifyListener(new ModifyListener() {
public void modifyText(ModifyEvent e) {
String string = text.getText();
int index = 0;
// 遍历文本内容,检查是否为字母或数字
while (index < string.length()) {
char ch = string.charAt(index);
if (!Character.isLetterOrDigit(ch))
break;
index++;
}
// 若text中输入不合法,则输出错误提示信息
if (index != string.length()) {
hintText.setText("invalid input");
} else {
hintText.setText("");
}
}
});
// 创建Label组件,设定密码提示信息
Label label2 = new Label(shell, SWT.WRAP);
label2.setText("password length no shorter than 6,/n"
+ "and no longer than 8");
// 创建密码Text组件
final Text pwdText = new Text(shell, SWT.BORDER | SWT.PASSWORD);
// 用户输入不得长于8个字符
pwdText.setTextLimit(8);
// 为pwdText组件加入文本修改事件监听器
pwdText.addListener(SWT.Modify, new Listener() {
public void handleEvent(Event event) {
if (pwdText.getText().length() < 6) {
hintText.setText("password not safe");
} else {
hintText.setText("password perfect");
}
}
});
shell.pack();
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
}
分享到:
相关推荐
下面我们将深入探讨SWT的简单实例中涉及到的知识点。 首先,我们来看标题中提到的几个关键组件: 1. **BUTTON**: BUTTON是SWT中用于创建按钮的类。按钮是GUI中最基本的交互元素,用户可以通过点击按钮来触发某个...
通过运行这些实例,你可以深入理解SWT和JFace的用法,学习如何设计布局、处理事件、创建自定义控件以及如何将业务逻辑与界面分离。每个实例都是一个小型的实战项目,有助于提升你的GUI开发技能。 总的来说,SWT和...
SWT组件是构建GUI的基本元素,包括Button、Label、Text、Shell等,它们对应于常见的GUI控件。每个组件都有其特定的方法和属性,可以进行定制和交互。 布局管理在SWT中扮演着重要角色,它决定了组件在窗口中的位置和...
- 基本组件:SWT提供了丰富的UI组件,如Button、Label、Text、Shell、Composite等,它们对应着操作系统中的原生控件。 - 事件处理:SWT使用监听器模式来处理用户交互,如MouseListener、KeyListener和...
但在这个实例中,我们将关注SWT的基本用法和它在非OSGi环境下的应用。 **SWT组件与布局管理器** SWT 提供了一系列的组件,如按钮(Button)、文本框(Text)、标签(Label)、列表(List)、树(Tree)、表格...
1. SWT控件:包括Button、Text、Label、Composite、Shell等,了解它们的基本属性和方法,以及如何布局和组合控件。 2. JFace Data Binding:学习如何使用JFace的数据绑定机制,自动同步模型与视图的数据。 3. MVC...
通过深入研究这些官方实例,开发者不仅可以掌握 SWT 和 JFace 的基本用法,还能了解到如何在实际项目中应用这些技术,提升 Eclipse 插件开发的能力。这些实例对于初学者来说是宝贵的资源,对于有经验的开发者来说也...
SWT,全称为Standard Widget Toolkit(标准小部件工具包),是Eclipse基金会开发的一个用于创建Java GUI应用程序的开源库...记得查看源代码中的事件处理函数、布局配置以及组件的使用方式,这些都是理解SWT实例的关键。
1. **控件使用**:SWT包含各种常见的GUI控件,如按钮(Button)、文本框(Text)、列表(List)、树形视图(Tree)、表格(Table)等。通过实例演示,你可以了解这些控件的创建、布局和事件处理。 2. **布局管理**...
1. **基础控件的使用**:如何创建和配置SWT和JFace的基本组件,如Button、Text、Table等。 2. **布局管理**:讲解如何使用GridLayout、FormLayout、FillLayout等布局管理器来组织控件。 3. **事件处理**:如何编写...
JAVA SWT事件四种写法实例解析 本文主要介绍了JAVA SWT事件四种写法实例解析,对大家的学习或者工作具有一定的参考学习价值。 一、匿名内部类写法 在JAVA SWT中,匿名内部类写法是一种常见的事件处理方式。例如,...
首先,我们来详细了解创建一个SWT程序的基本步骤: 1. **创建Display**:在SWT程序中,`Display`是所有组件的顶级容器,它代表了与用户交互的窗口系统。在示例代码中,`new Display()`创建了一个新的Display实例。 ...
Text text = new Text(composite, SWT.BORDER); text.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1)); // 添加Button Button button = new Button(composite, SWT.PUSH); button....
这些示例可能会覆盖基本的窗口创建、组件添加、事件处理、布局管理等方面,对于学习和理解SWT非常有帮助。通过这些代码,初学者可以逐步了解如何将SWT集成到自己的Java项目中,创建出功能丰富的图形界面。 总的来说...
2. **Text**: 创建文本输入框,如`Text text = new Text(shell, SWT.BORDER);` 3. **Label**: 显示文本标签,如`Label label = new Label(shell, SWT.NONE);` 4. **Composite**: 用于组合其他Widget的容器,如`...
本资源包含的"Sample Code"可能是各种基于SWT的实例代码,这些代码涵盖了SWT的各种组件、布局管理、事件处理、对话框、拖放操作、打印、剪贴板支持等高级主题。通过这些源码,我们可以学习到以下关键知识点: 1. **...
SWT提供了强大的绘图能力,支持基本的2D图形绘制,如线条、矩形、圆等。 #### 8. SWT的OpenGL应用 SWT还可以与OpenGL结合使用,用于开发复杂的3D图形应用程序。 #### 9. SWT和Swing、AWT技术比较 - **AWT概述**...
本文将深入探讨SWT `Table`控件中的单元格编辑功能,并通过实例代码进行详细解析。 #### 1. 创建TableEditor `TableEditor`是SWT提供的一种编辑器,专门用于处理`Table`中的单元格编辑。在创建`TableEditor`时,需...