我想检查输入到JTextField1
的输入是否等于下面显示的示例图片,该怎么做?
我只能通过下面的代码来检查是否输入了数字来尝试阻止并捕获NumberFormatException
try {
taxratio = new BigDecimal(jTextField1.getText()); }
}
catch (NumberFormatException nfe) {
System.out.println("Error" + nfe.getMessage());
}
答案 0 :(得分:1)
以下是两个选项:
JTextField
<{1}} 的InputVerifier
。除非文本字段的内容具有指定的格式,否则文本字段不会产生焦点。
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("% ");
JFormattedTextField
<{1}} 的MaskFormatter
。文本字段不接受不符合指定掩码的类型字符。如果您希望在没有输入时显示默认数字,可以将占位符字符设置为数字。
MaskFormatter mask = new MaskFormatter("%##");
mask.setPlaceholderCharacter(' ');
JFormattedTextField textField2 = new JFormattedTextField(mask);