我正在寻找一种方法来确保我的文本字段(JTextField、JFormattedTextField)在调用 .getText() 时返回 double 或 int 而不是字符串。执行此操作的最佳方法是什么(如果可能)?
谢谢!
坏 Pandas :D
最佳答案
Register InputVerifier并从
调用方法JFormattedTextField
getValue
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); }
}
关于java - 创建一个仅允许用户在 Java 中输入整数/ double 的文本字段(或类似字段)的简单方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2510047/