`

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的简单实例,涉及到了BUTTON,TEXT,COMBE,SHELL等组件,对于初步学习 SWT是个很好的例子。

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

    text.addMouseListener(new MouseAdapter(){ public void mouseDoubleClich(MouseEVent e){ MessageDialog.openInformation(null,"","helloworld"): }}) 这种方式是在事件内部直接实现处理代码,优点是简单方便,...

    JAVA上百实例源码以及开源项目源代码

    原理是初始化颜色选择按钮,然后为颜色选择按钮增加事件处理事件,最后实例化颜色选择器。 Java二进制IO类与文件复制操作实例 16个目标文件 内容索引:Java源码,初学实例,二进制,文件复制  Java二进制IO类与文件...

    eclipse draw2d实例大全 源码

    eclipse draw2d实例大全 org.eclipse.draw2d.examples.cg org.eclipse.draw2d.examples.connections org.eclipse.draw2d.examples.graph org.eclipse.draw2d.examples.hittest org.eclipse.draw2d.examples.images ...

    Adichatz - SWT - RichText:一个小的编辑器小部件,用于管理StyleText周围的粗体..,超链接-开源

    这项工作源自Alonso Dominguez的工作(请参阅http://www.javacodegeeks.com/2012/07/richtext-editor-component-for-swt-based.html)-向其中添加粗体,斜体,下划线,删除线功能... -RichText实例化后可以添加按钮。

    de.kupzog.ktable_2.2.0

    很好的 SWT Tale (比SWT自带的好多) 如果用 eclipse 或者 myeclipse 放入 dropins 文件夹中就可以当插件使用. 自带源代码,实例 [Text Table][Boolean Table][Span Table][Sortable Table][FixeWidth Table]

    JAVA上百实例源码以及开源项目

    原理是初始化颜色选择按钮,然后为颜色选择按钮增加事件处理事件,最后实例化颜色选择器。 Java二进制IO类与文件复制操作实例 16个目标文件 内容索引:Java源码,初学实例,二进制,文件复制  Java二进制IO类与文件...

    JAVA程序开发大全---上半部分

    17.5 SWT中的事件模型 309 17.6 本章小结 313 第18章 UML建模 314 18.1 UML概述 314 18.2 MyEclipse中的UML支持 314 18.3 使用MyEclipse创建UML模型仓库 315 18.4 使用MyEclipse创建UML图 316 18.4.1 创建UML图 316 ...

    达内2011年在线测评系统5天全部源码ELTS_day01-day05

    1.3 IBM 提供了SWT, eclipse.org a 采用了本地的C代码完成控件绘制, 性能很好, Eclipse b 实际应用不多 Swing 应用 1 JFrame 代表一个窗口控件 包括标题栏, 控制按钮, 和边框, 中间是内容面板 2 JLable ...

    jQuery实现底部浮动窗口效果

    本文实例讲述了jQuery实现底部浮动窗口效果。分享给大家供大家参考,具体如下: [removed][removed] &lt;style type="text/css"&gt; #foot_tel { width:100%;height:43px; background:url(styles/js/swt/tel_bj_...

    jQuery实现侧浮窗与中浮窗切换效果的方法

    本文实例讲述了jQuery实现侧浮窗与中浮窗切换效果的方法。分享给大家供大家参考,具体如下: html部分: &lt;!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN http://www.w3.org/TR/html4/loose.dtd&gt;...

    Eclipse权威开发指南2.pdf

    6.1 Eclipse安装实例概览...... 158 6.1.1 Eclipse的目录内容..... 158 6.1.2 Eclipse的平台配置..... 159 6.1.3 features目录..... 160 6.1.4 plugins目录..... 161 6.2 理解运行时配置...... 161 6.2.1 用户...

    Eclipse权威开发指南3.pdf

    6.1 Eclipse安装实例概览...... 158 6.1.1 Eclipse的目录内容..... 158 6.1.2 Eclipse的平台配置..... 159 6.1.3 features目录..... 160 6.1.4 plugins目录..... 161 6.2 理解运行时配置...... 161 ...

    Eclipse权威开发指南1.pdf

    6.1 Eclipse安装实例概览...... 158 6.1.1 Eclipse的目录内容..... 158 6.1.2 Eclipse的平台配置..... 159 6.1.3 features目录..... 160 6.1.4 plugins目录..... 161 6.2 理解运行时配置...... 161 ...

Global site tag (gtag.js) - Google Analytics