——此文章摘自《自己动手写开发工具
基于Eclipse的工具开发》定价
¥
特价
¥
详细>>
在和用户交互的时候对于一些复杂的信息可能需要通过自定义的对话框进行采集而对于像简单的字符串之类的信息则可以通过弹出值输入对话框的方式进行采集
值输入对话框定义在orgeclipsejfacedialogsInputDialog中与消息对话框不同这个类是必须实例化才能使用的其构造函数为
public InputDialog(Shell parentShell String dialogTitle
String dialogMessage String initialValue IInputValidator validator)
参数dialogTitle为标题dialogMessage为显示的消息initialValue为对话框中的初始值validator为值校验器当validator为null的时候不对对话框中的值做校验而非null的时候需要做校验
IInputValidator接口定义如下
public interface IInputValidator {
public String isValid(String newText);
}
当isValid返回非空的时候值校验不通过并且把isValid返回的值作为错误信息显示
使用值输入对话框的例子如下
InputDialog inputDlg = new InputDialog(shell输入请输入您的年龄
new IInputValidator(){
public String isValid(String newText)
{
int i;
try
{
i = IntegerparseInt(newText);
} catch (NumberFormatException e)
{
return 年龄必须为整数!;
}
if(i<)
{
return 兄弟来自反物质世界?年龄不可能为负吧!;
}
if(i>)
{
return 您也太高寿了吧!;
}
return null;
}
});
if(inputDlgopen()==WindowOK)
{
Systemoutprintln(inputDlggetValue());
}
运行以后当在对话框中输入的时候就会提示错误如图所示
图 输入对话框