关于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
中的输入值.
实例代码如下:
public class InputDialog1 {
public static void main(String[] args) {
InputDialog1 window = new InputDialog1();
window.open();
}
public void open() {
final Display display = Display.getDefault();
final Shell shell = new Shell();
shell.setSize(500, 375);
shell.setText("SWT Application");
InputDialog dialog = new InputDialog(shell,"标题","请输入值","1",new MyValidator());
if(dialog.open() == InputDialog.OK){
String valueStr = dialog.getValue();
System.out.println("请输入值:" + valueStr);
}
shell.layout();
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
}
/**
* 值的验证类
*/
class MyValidator implements IInputValidator {
/**
* 返回null值表示值(newText)合法 返回其它字符符串(包括""这样的空字符)表示值不合法
*/
@Override
public String isValid(String newText) {
float value = 0;
try {
value = Float.valueOf(newText).floatValue();
} catch (java.lang.NumberFormatException e) {
return "请输入数值";
}
if (value > 0 && value < 100) {
return null;// 返回null表示newText合法
} else {
return "请输入大于0小于100的数";
}
}
}
}
这个例子中只能输入0~100之间的数值.当输入的值不在这个范围内时,窗口的下方会出现文字提示.
并且"确定"按钮置灰.
运行结果:



关于JFace中的输入值(InputDialog)对话框类的更多相关文章
- 关于JFace中的右键菜单Action类,ActgionGroup类,MenuManager类
Action类,ActionGroup类,MenuManager类介绍 SWT中菜单是Menu类,在前面章节中已经介绍过Menu类的使用. 菜单项用MeauItem类来实现.但是在实际开发中,同一种功 ...
- 关于JFace中的向导式对话框(WizardDialog类)
向导式对话框是一种非常友好的界面,它能够引导用户一步步的输入信息.Eclipse的"新建项目",就是这样的向导式对话框. 在Eclipse中向导式对话框的开发是很简单的,它由Wiz ...
- 关于JFace中的进度条对话框(ProgressMonitorDialog类)
在Windows操作系统中,最常用的进度条对话框就是文件复制时的弹出框,如果想让用户愉快的使用你开发 的软件,那么在执行某个较长时间的操作时候,就应该弹出一个进度条提示框,告诉用户程序正在做什么. 做 ...
- 关于JFace中的对话框MessageDialog类等其它类型对话框
对话框是软件系统中最常用到的界面,对话框无处不在,从界面结构来说,对话框主要是由主体的界面组件和底部窗体按钮组成. 之前的例子中已经频繁的使用到了MessageDialog.openInformati ...
- PIE SDK 监督分类对话框类(SupervisedClassificaitonDialog)使用经验
最近研究遥感,用到分类算法,PIE SDK正好提供了一些方法可供调用,他们的官方博客上也有相应的示例代码(可参考:https://www.cnblogs.com/PIESat/p/10725270.h ...
- mfc 在VC的两个对话框类中传递参数的三种方法
弄了好久,今天终于把在VC中的对话框类之间传递参数的问题解决了,很开心,记录如下: 1. 我所建立的工程是一个基于MFC对话框的应用程序,一共有三个对话框,第一个对话框为主对话框,所对应的类为CTMD ...
- MFC中对话框类(Dialog)的应用
转载http://hi.baidu.com/jackywdx/item/feee8041d2c2e12310ee1e85 Windows应用程序通常是通过对话框接收用户输入.向用户输出信息,本节介绍应 ...
- ListCtrl添加右键菜单(在对话框类中)
在对话框类中如何添加NM_RCLICK消息: ListCtrl控件右键单击选择属性 在右侧属性栏中选择控件事件 在控件事件中找到NM_RCLICK并添加 完成,写代码
- 线程的函数中调用MFC对话框类的变量
线程的函数中调用MFC对话框类的变量多线程传输文件的对话框 现在想要在对话框上添加一个进度条 为进度条映射变量m_progress这就需要在传输一段文件后就更新m_progress的值使进度条前进 也 ...
随机推荐
- [tensorflow in a nutshell] tensorflow简明教程 (第一部分)
原文链接: https://medium.com/@camrongodbout/tensorflow-in-a-nutshell-part-one-basics-3f4403709c9d#.31jv5 ...
- .Net高级技术
本次课程中讲的有的东西都是根据初学者的认知规律进行了调整,并不是严谨的,比如很多地方在多AppDomain条件下很多说法就不对了,但是说严谨了大家就晕了,因此继续不严谨的讲吧. 很多面试题都在这阶段的 ...
- NOIP2006 作业调度方案
1. 作业调度方案 (jsp.pas/c/cpp) [问题描述] 我们现在要利用m台机器加工n个工件,每个工件都有m道工序,每道工序都在不同的指定的机器上完成.每个工件的每道工 ...
- ASIHTTPRequest 编码问题
今天在模拟登陆时,中文的用户名一直登陆不上,对用户名进行了各种转码还是不能解决. 在这个问题上一直卡了半个多小时,最终才发现根本不是用户名的编码问题,而是使用的第三方网络插件的ASIHTTPReque ...
- HW7.3
public class Solution { public static void main(String[] args) { char[][] answers = { {'A', 'B', 'A' ...
- RPi Debian Auto Login
This guide will show you how to login to a Debian image and start LXDE by simply powering the Pi on. ...
- Uber将在泰国首推"优步摩托"服务
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
- iOS开发—字典转模型,KVC设计模式
iOS开发UI基础—字典转模型 开发中,通常使用第三方框架可以很快的实现通过字典转模型,通过plist创建模型,将字典的键值对转成模型属性,将模型转成字典,通过模型数组来创建一个字典数组,通过字典数组 ...
- C#学习笔记(一):一些零散但重要的知识点汇总
集合类型 数组 数组需要注意的就是多维数组和数组的数组之间的区别,如下: using System; namespace Study { class Program { static void Mai ...
- uml 在需求分析阶段的应用
上一篇博客写了uml在软件开发过程中的应用,这以篇要详细介绍一下UML在需求分析过程中的应用. 以机房收费系统为例进行讲解,先介绍一个该系统. 首先该系统的用户分为三个等级,一般用户,操作员,管理员, ...