5

我是 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);
            }
        });
    }
}
4

1 回答 1

4

你可以使用:

timeField.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
于 2012-11-30T17:16:51.040 回答