我想检查输入到我的 JTextField1
中的输入是否等于下面显示的示例图片,该怎么做?
我只能通过将以下代码放入 try block 并捕获 NumberFormatException
try {
taxratio = new BigDecimal(jTextField1.getText()); }
}
catch (NumberFormatException nfe) {
System.out.println("Error" + nfe.getMessage());
}
最佳答案
这里有两个选项:
带有 InputVerifier
的 JTextField
。除非文本字段的内容符合指定的格式,否则文本字段不会产生焦点。
JTextField textField = new JTextField();
textField.setInputVerifier(new InputVerifier() {
@Override
public boolean verify(JComponent input) {
String text = ((JTextField) input).getText();
if (text.matches("%\\d\\d"))
return true;
return false;
}
});
textField.setText("% ");
<小时/>
带有MaskFormatter
的JFormattedTextField
。文本字段不接受不符合指定掩码的键入字符。如果您希望在没有输入时显示默认数字,您可以将占位符设置为数字。
MaskFormatter mask = new MaskFormatter("%##");
mask.setPlaceholderCharacter(' ');
JFormattedTextField textField2 = new JFormattedTextField(mask);
关于java - JTextField特定格式检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23471121/