关于格式化文本字段的2个问题

时间:2013-10-25 14:48:22

标签: java

我希望JFormattedTextField接受任何大于0的十进制数,但我无法弄清楚如何使用DecimalFormat类做到这一点?

另外,我将文本字段限制为10列。当我以编程方式设置一个超过10位数(1.333 ...)的数字时,文本字段显示向右滚动,这样它只显示10 3,“3333333 ......”。我希望它显示为向左滚动,以便显示前10个数字,“1.333 ...”任何建议如何强制它在显示时向左滚动?

1 个答案:

答案 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();
        }