`

SWT TEXT基本事件实例

    博客分类:
  • JAVA
阅读更多
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的简单实例

    下面我们将深入探讨SWT的简单实例中涉及到的知识点。 首先,我们来看标题中提到的几个关键组件: 1. **BUTTON**: BUTTON是SWT中用于创建按钮的类。按钮是GUI中最基本的交互元素,用户可以通过点击按钮来触发某个...

    SWT/JFace 控件实例

    通过运行这些实例,你可以深入理解SWT和JFace的用法,学习如何设计布局、处理事件、创建自定义控件以及如何将业务逻辑与界面分离。每个实例都是一个小型的实战项目,有助于提升你的GUI开发技能。 总的来说,SWT和...

    swt - designer 学习实例

    SWT组件是构建GUI的基本元素,包括Button、Label、Text、Shell等,它们对应于常见的GUI控件。每个组件都有其特定的方法和属性,可以进行定制和交互。 布局管理在SWT中扮演着重要角色,它决定了组件在窗口中的位置和...

    SWT和JFace开发实例

    - 基本组件:SWT提供了丰富的UI组件,如Button、Label、Text、Shell、Composite等,它们对应着操作系统中的原生控件。 - 事件处理:SWT使用监听器模式来处理用户交互,如MouseListener、KeyListener和...

    SWT应用的开发实例:没有使用到OSGi

    但在这个实例中,我们将关注SWT的基本用法和它在非OSGi环境下的应用。 **SWT组件与布局管理器** SWT 提供了一系列的组件,如按钮(Button)、文本框(Text)、标签(Label)、列表(List)、树(Tree)、表格...

    Eclipse SWT/JFace 书中 全部实例

    1. SWT控件:包括Button、Text、Label、Composite、Shell等,了解它们的基本属性和方法,以及如何布局和组合控件。 2. JFace Data Binding:学习如何使用JFace的数据绑定机制,自动同步模型与视图的数据。 3. MVC...

    SWT/JFace官方实例

    通过深入研究这些官方实例,开发者不仅可以掌握 SWT 和 JFace 的基本用法,还能了解到如何在实际项目中应用这些技术,提升 Eclipse 插件开发的能力。这些实例对于初学者来说是宝贵的资源,对于有经验的开发者来说也...

    SWT实例

    SWT,全称为Standard Widget Toolkit(标准小部件工具包),是Eclipse基金会开发的一个用于创建Java GUI应用程序的开源库...记得查看源代码中的事件处理函数、布局配置以及组件的使用方式,这些都是理解SWT实例的关键。

    swt教程-flash实例操作演示

    1. **控件使用**:SWT包含各种常见的GUI控件,如按钮(Button)、文本框(Text)、列表(List)、树形视图(Tree)、表格(Table)等。通过实例演示,你可以了解这些控件的创建、布局和事件处理。 2. **布局管理**...

    swt/jface实例开发

    1. **基础控件的使用**:如何创建和配置SWT和JFace的基本组件,如Button、Text、Table等。 2. **布局管理**:讲解如何使用GridLayout、FormLayout、FillLayout等布局管理器来组织控件。 3. **事件处理**:如何编写...

    JAVA SWT事件四种写法实例解析

    JAVA SWT事件四种写法实例解析 本文主要介绍了JAVA SWT事件四种写法实例解析,对大家的学习或者工作具有一定的参考学习价值。 一、匿名内部类写法 在JAVA SWT中,匿名内部类写法是一种常见的事件处理方式。例如,...

    SWT界面编程知识汇总

    首先,我们来详细了解创建一个SWT程序的基本步骤: 1. **创建Display**:在SWT程序中,`Display`是所有组件的顶级容器,它代表了与用户交互的窗口系统。在示例代码中,`new Display()`创建了一个新的Display实例。 ...

    swt-界面设计

    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.rar_ java swt_SWT_java swt_java s_java swt

    这些示例可能会覆盖基本的窗口创建、组件添加、事件处理、布局管理等方面,对于学习和理解SWT非常有帮助。通过这些代码,初学者可以逐步了解如何将SWT集成到自己的Java项目中,创建出功能丰富的图形界面。 总的来说...

    SWT教程java开发文档

    2. **Text**: 创建文本输入框,如`Text text = new Text(shell, SWT.BORDER);` 3. **Label**: 显示文本标签,如`Label label = new Label(shell, SWT.NONE);` 4. **Composite**: 用于组合其他Widget的容器,如`...

    swt高级密笈源码swt

    本资源包含的"Sample Code"可能是各种基于SWT的实例代码,这些代码涵盖了SWT的各种组件、布局管理、事件处理、对话框、拖放操作、打印、剪贴板支持等高级主题。通过这些源码,我们可以学习到以下关键知识点: 1. **...

    Eclipse SWT 开发参考

    SWT提供了强大的绘图能力,支持基本的2D图形绘制,如线条、矩形、圆等。 #### 8. SWT的OpenGL应用 SWT还可以与OpenGL结合使用,用于开发复杂的3D图形应用程序。 #### 9. SWT和Swing、AWT技术比较 - **AWT概述**...

    SWT Table单元格编辑功能

    本文将深入探讨SWT `Table`控件中的单元格编辑功能,并通过实例代码进行详细解析。 #### 1. 创建TableEditor `TableEditor`是SWT提供的一种编辑器,专门用于处理`Table`中的单元格编辑。在创建`TableEditor`时,需...

Global site tag (gtag.js) - Google Analytics