zoukankan      html  css  js  c++  java
  • 关于JFace中的输入值(InputDialog)对话框类

    格式:

    InputDialog(Shell parentShell,

          String dialogTitle,

          String dialogMessage,

          String initialValue,

          InputValidator validator)

    Creates an input dialog with OK and Cancel buttons.

    参数说明: parentShell 是一个Shell,可以接受null值,dialogTitle为对话框的标题:

    dialogMessage为对话框中的提示文字.initialValue设置初始值,validator是一个对

    输入值的验证类.

    如果最后一个参数validator是设成了null,也就是说不使用验证类对输入的值进行有效性的验证.

      例子:InputDialog和MessageDialog的使用不同,InputDialog没有提供静态方法来打开

    窗口,必须要先创建一个InputDialog对象,然后再使用open方法弹出窗口.open方法执行之后,

    程序会挂起,直到退出InputDialog对话框,最后open方法的返回值(字符串)就是InputDialog

    中的输入值.

    实例代码如下:

     1 public class InputDialog1 {
     2     public static void main(String[] args) {
     3         InputDialog1 window = new InputDialog1();
     4         window.open();
     5     }
     6     public void open() {
     7         final Display display = Display.getDefault();
     8         final Shell shell = new Shell();
     9         shell.setSize(500, 375);
    10         shell.setText("SWT Application");
    11         InputDialog dialog = new InputDialog(shell,"标题","请输入值","1",new MyValidator());
    12         if(dialog.open() == InputDialog.OK){
    13             String valueStr = dialog.getValue();
    14             System.out.println("请输入值:" + valueStr);
    15         }
    16         shell.layout();
    17         shell.open();
    18         while (!shell.isDisposed()) {
    19             if (!display.readAndDispatch()) {
    20                 display.sleep();
    21             }
    22         }
    23     }    
    24     /**
    25      * 值的验证类
    26      */
    27     class MyValidator implements IInputValidator {
    28 
    29         /**
    30          * 返回null值表示值(newText)合法 返回其它字符符串(包括""这样的空字符)表示值不合法
    31          */
    32         @Override
    33         public String isValid(String newText) {
    34             float value = 0;
    35             try {
    36                 value = Float.valueOf(newText).floatValue();
    37             } catch (java.lang.NumberFormatException e) {
    38                 return "请输入数值";
    39             }
    40             if (value > 0 && value < 100) {
    41                 return null;// 返回null表示newText合法
    42             } else {
    43                 return "请输入大于0小于100的数";
    44             }
    45         }
    46     }
    47 }

    这个例子中只能输入0~100之间的数值.当输入的值不在这个范围内时,窗口的下方会出现文字提示.

    并且"确定"按钮置灰.

    运行结果:

  • 相关阅读:
    SASS搭建流程
    Javascript模块化编程(一)
    Javascript模块化编程发展历史
    jQuery文档处理
    jQuery事件对象
    软件开发中的11个系统思维定律
    Silverlight实例教程 理解Navigation导航框架Frame类
    eclipse自动关闭的原因
    你应该知道的15个Silverlight诀窍
    Eclipse 启动不起来异常:JVM terminated. Exit code=1
  • 原文地址:https://www.cnblogs.com/DreamDrive/p/4169427.html
Copyright © 2011-2022 走看看