创建只允许用户在Java中输入int/double的文本字段(或类似字段)的简单方法是什么?
我正在寻找一种方法来确保我的文本字段(JTextField,JFormattedTextField)在调用.getText()时返回的是double或int而不是字符串。最好的方法是什么(如果可能) 谢谢创建只允许用户在Java中输入int/double的文本字段(或类似字段)的简单方法是什么?,java,user-interface,swing,jtextfield,jformattedtextfield,Java,User Interface,Swing,Jtextfield,Jformattedtextfield,我正在寻找一种方法来确保我的文本字段(JTextField,JFormattedTextField)在调用.getText()时返回的是double或int而不是字符串。最好的方法是什么(如果可能) 谢谢 badPanda:D我会检查文本框回调中的输入,只需将框设为红色或在附近创建一条警告消息。您可以从文本框字符串中删除非数字字符。使用 并从JFormattedTextField public class FormattedTextFieldVerifier extends InputVerif
badPanda:D我会检查文本框回调中的输入,只需将框设为红色或在附近创建一条警告消息。您可以从文本框字符串中删除非数字字符。使用
JFormattedTextField
public class FormattedTextFieldVerifier extends InputVerifier {
public boolean verify(JComponent input) {
if (input instanceof JFormattedTextField) {
JFormattedTextField ftf = (JFormattedTextField)input;
AbstractFormatter formatter = ftf.getFormatter();
if (formatter != null) {
String text = ftf.getText();
try {
formatter.stringToValue(text);
return true;
} catch (ParseException pe) {
return false;
}
}
}
return true;
}
public boolean shouldYieldFocus(JComponent input) {
return verify(input);
}
}