我是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);
}
});
}
}
答案 0 :(得分:4)
您可以使用:
timeField.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);