关于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的值使进度条前进 也 ...
随机推荐
- Ubuntu 14.04 设置静态IP
使用Network Manager UI界面中指定 手动时,无法保存. 通过修改配置文件解决来此问题.记录以下. 如果输入过密码后,就会出现在这个目录下面, 以如下chinaNet为例 gaojing ...
- 【暑假】[实用数据结构]UVAlive 3942 Remember the Word
UVAlive 3942 Remember the Word 题目: Remember the Word Time Limit: 3000MS Memory Limit: Unknown ...
- SQL Server Cpu 100% 的常见原因及优化
SQL Server Cpu 100% 的情况并不太常见,一般引起 SQL Server 产生性能问题的,都是 阻塞.连接数.IO 磁盘等.所以,一般SQL Server 的使用率都是比较低的.但是, ...
- 转载MVC Html.AntiForgeryToken() 防止CSRF攻击
MVC中的Html.AntiForgeryToken()是用来防止跨站请求伪造(CSRF:Cross-site request forgery)攻击的一个措施,它跟XSS(XSS又叫CSS:Cross ...
- Qt 固定窗口【worldsing 笔记】
w.setWindowFlags(Qt::WindowMinimizeButtonHint); //禁止最大化按钮 w.setFixedSize(1024,587);//固定窗口大小
- FreeModbus Slave 改进的eMbPoll()【worldsing 笔记】
eMbPoll()的作用是FreeMod协议通信过程中不断查询事件对列有无完速数据桢,并进行地址和CRD验证,最后运行和回复主机. 为了减小代码尺寸对eMbPoll进行改进: 原版: 1: 2: e ...
- 【Away3D代码解读】(五):动画模块及骨骼动画
动画模块核心存放在away3d.animators包里: Away3D支持下面几种动画格式: VertexAnimator:顶点动画 SkeletonAnimator:骨骼动画 UVAnimator: ...
- Delphi- ini文件的读写操作
一.读INI文件示例 procedure TForm1.FormCreate(Sender: TObject); Var MyIni :Tinifile; glAppPath :string; beg ...
- HTTP 与 HTTPS 的区别
本文转自:http://www.cnblogs.com/ok-lanyan/archive/2012/07/14/2591204.html HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的 ...
- java中的AES 256算法遇到 Illegal key size or default parameters错的解决办法
国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html 内部邀请码:C8E245J (不写邀请码,没有现金送) 国 ...