创建仅允许用户在Java中输入int / double的文本字段(或类似文件)的简单方法是什么? [英] What is a simple way to create a text field (or such) that only allows the user to enter ints/doubles in Java?
本文介绍了创建仅允许用户在Java中输入int / double的文本字段(或类似文件)的简单方法是什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在寻找一种方法来确保我的文本字段(JTextField,JFormattedTextField)在调用.getText()时返回double或int而不是字符串。最好的方法是什么(如果可能的话)?
I am looking for a way to ensure that my text field (JTextField, JFormattedTextField) is returning a double or int rather than a string when I call .getText(). What is the best way to do this (if possible)?
谢谢!
badPanda:D
badPanda :D
推荐答案
-
注册InputVerifier 并调用方法
getValue
来自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);
}
}
这篇关于创建仅允许用户在Java中输入int / double的文本字段(或类似文件)的简单方法是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文