Sono nuovo nello sviluppo di Swing Java. Qualcuno può aiutarmi su questo.Swing - MaskFormatter - Immettere i numeri da destra del campo di testo
Ho un campo di testo jformatted con maskformatter. funziona bene Ma l'unica cosa che vorrei sapere è se possiamo farlo per inserire i numeri da destra. Il codice seguente funziona bene per inserire i numeri da sinistra a destra.
Grazie per il vostro tempo.
Ecco il codice Java che ho:
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);
}
});
}
}
Hai provato il [ 'setComponentOrientation (ComponentOrientation o)'] (http://docs.oracle .com/javase/1.4.2/docs/api/javax/swing/JSpinner.html) metodo? – fireshadow52
['Component.setComponentOrientation (ComponentOrientation)'] (http://docs.oracle.com/javase/6/docs/api/java/awt/Component.html#setComponentOrientation%28java.awt.ComponentOrientation%29) FTFY @ fireshadow52 :) – Brian
Grazie Brian e fireshadow52. Funziona bene. Ma vedo un piccolo problema. La posizione del cursore è un po 'confusa. Mi aspetto di vedere la posizione del punto di riferimento alla fine di tutto il tempo. Invece mostra all'inizio. Inoltre ho osservato che il formato numerico dopo aver inserito 3 cifre 149 (mi aspetto di vederlo come 1:49 ma invece lo mostra come 14: 9) – Steve