我希望JFormattedTextField接受任何大于0的十进制数,但我无法弄清楚如何使用DecimalFormat类做到这一点?
另外,我将文本字段限制为10列。当我以编程方式设置一个超过10位数(1.333 ...)的数字时,文本字段显示向右滚动,这样它只显示10 3,“3333333 ......”。我希望它显示为向左滚动,以便显示前10个数字,“1.333 ...”任何建议如何强制它在显示时向左滚动?
答案 0 :(得分:0)
使用MaskFormatter
可帮助您将文本字段限制为最多10个数字。
try {
MaskFormatter format = new MaskFormatter("");
// Allows you to enter any digit greater than 0.
format.setInvalidCharacters("0");
JFormattedTextField inputField = new JFormattedTextField( format );
// Add FocusListener and onFocusLost set the caret position to the zeroth position.
inputField.setCaretPosition(0);
} catch (ParseException e) {
e.printStackTrace();
}