Domanda

Come si fa ad aggiungere zero padding ad un JSpinner?
Dal momento che il filatore crea il JFormattedTextField in sé, non posso passare il formato nel costruttore JFormattedTextField.
Non c'è un modo per impostare la formattazione su un JFormattedTextField esistente?

Quello che voglio: value = 37, editore = "0037"

UPDATE:
Ho provato questo come suggerito:

JSpinner mySpinner = new JSpinner();  
mySpinner.setEditor(  
    new JSpinner.NumberEditor(mySpinner, "####"));  

e il risultato è alcun cambiamento a tutti per la presentazione dei dati del filatore. Sembra una soluzione ragionevole; qualcuno ha provato questo successo così posso essere sicuro che è solo qualcosa di traballante nella mia applicazione?

È stato utile?

Soluzione

Puoi impostare l'editor te , in questo modo:

// minimum of four digits
mySpinner.setEditor(new JSpinner.NumberEditor(mySpinner, "0000"));

"0000" è una stringa DecimalFormat specificando quattro cifre, zeri, se necessario; "####" specifica quattro cifre, ma non pari a zero-pad.

Il DecimalFormat documentazione API coperture formattazione stringhe in modo più dettagliato.

Altri suggerimenti

Con riferimento ai javadoc, JSpinner ha una setEditor (JComponent) metodo . L'uso che per impostare la vostra abitudine JFormattedTextField, con il suo formato personalizzato.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top