0

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

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

4

1 回答 1

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();
        }
于 2013-10-25T15:46:24.653 回答