我正在尝试验证多个文本框的输入(即它们应该是一个数字),并在下面找到了有用的代码片段。
但是,如果我有三个文本框(和),如何将具有相同功能的验证侦听器应用于每个文本框,而不必重复 ( text
)代码三次?moreText
evenMoreText
.addVerifyListener(new VerifyListener() {...
我不想实现 switch 语句或类似语句(以决定将其应用到哪个文本框),我想要更通用的东西(我也许可以让其他类在将来使用)。
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;
}
}
});