Swing - MaskFormatter - 从文本字段的右侧输入数字

时间:2012-11-30 17:11:08

标签: java swing jformattedtextfield

我是Swing Java开发的新手。有人可以帮我解决这个问题。

我有一个带有maskformatter的jformattedtextfield。它工作得很好。但我唯一想知道的是,如果我们能够从右边输入数字。以下代码可以很好地从左到右输入数字。

感谢您的时间。

这是我的java代码:

public class MaskFormattedTextExample extends JFrame {

    private static final long serialVersionUID = -1212313123;

    JFormattedTextField timeField;

    public MaskFormattedTextExample() {
        initComponents();
    }

    private void initComponents() {
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setSize(new Dimension(200, 200));
        getContentPane().setLayout(new FlowLayout(FlowLayout.LEFT));

        MaskFormatter mask = null;
        try {
            mask = new MaskFormatter("##:##:##");
            mask.setPlaceholderCharacter('_');
        } catch (ParseException e) {
            e.printStackTrace();
        }

        timeField = new JFormattedTextField(mask);
        timeField.setHorizontalAlignment(JTextField.RIGHT);
        timeField.setCaretPosition(JTextField.RIGHT);

        getContentPane().add(timeField);
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {

            public void run() {
                new MaskFormattedTextExample().setVisible(true);
            }
        });
    }
}

1 个答案:

答案 0 :(得分:4)

您可以使用:

timeField.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);