首页 > 代码库 > 关于JFace中的输入值(InputDialog)对话框类
关于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 @Override33 public String isValid(String newText) {34 float value = http://www.mamicode.com/0;35 try {36 value =http://www.mamicode.com/ 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之间的数值.当输入的值不在这个范围内时,窗口的下方会出现文字提示.
并且"确定"按钮置灰.
运行结果:
关于JFace中的输入值(InputDialog)对话框类
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。