Rab*_*bin 6 swt text eclipse-rcp
我想在文本框中验证输入的数字.
我希望用户在最大值和最小值之间的框中仅输入整数,小数.
我怎样才能确定这一点?
谢谢.
Ton*_*sen 11
使用a VerifyListener将处理粘贴,退格,替换.....
例如
text.addVerifyListener(new VerifyListener() {
@Override
public void verifyText(VerifyEvent e) {
final String oldS = text.getText();
final String newS = oldS.substring(0, e.start) + e.text + oldS.substring(e.end);
try {
BigDecimal bd = new BigDecimal(newS);
// value is decimal
// Test value range
} catch (final NumberFormatException numberFormatException) {
// value is not decimal
e.doit = false;
}
}
});
Run Code Online (Sandbox Code Playgroud)
您可以向文本控件注册一个ModifyListener 并使用它来验证数字。
txt.addModifyListener(new ModifyListener() {
@Override
public void modifyText(ModifyEvent event) {
String txt = ((Text) event.getSource()).getText();
try {
int num = Integer.parseInt(txt);
// Checks on num
} catch (NumberFormatException e) {
// Show error
}
}
});
Run Code Online (Sandbox Code Playgroud)
您还可以使用 addVerifyListener 来阻止输入某些字符。在传递到该方法的事件中,有一个“doit”字段。如果将其设置为 false,则会阻止当前编辑。
| 归档时间: |
|
| 查看次数: |
6718 次 |
| 最近记录: |