Pregunta

¿Cómo agregar relleno de ceros a un JSpinner?
Dado que el spinner crea la JFormattedTextField en sí, no puedo pasar el formato en el constructor JFormattedTextField.
¿No hay una manera de definir el formato en una JFormattedTextField existente?

Lo que quiero: valor = 37, editor = "0037"

ACTUALIZACIÓN:
He intentado esto como se sugiere:

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

y el resultado se produce ningún cambio en absoluto a la presentación de los datos del tornillo. Parece que una solución razonable; Alguien ha probado esto con éxito para que pueda estar seguro de que es algo inusual en mi propia aplicación?

¿Fue útil?

Solución

Puede conjunto el editor a sí mismo, así:

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

"0000" es una cadena DecimalFormat especificando cuatro dígitos, con relleno de ceros como sea necesario; "####" especifica cuatro dígitos, pero no cero-pad.

El href="http://docs.oracle.com/javase/6/docs/api/java/text/DecimalFormat.html" rel="nofollow noreferrer"> DecimalFormat documentación de la API cubiertas formateo de cadenas con más detalle.

Otros consejos

Haciendo referencia a los javadocs, JSpinner tiene un setEditor (JComponent) método . El uso que para establecer su costumbre JFormattedTextField, con su formato personalizado.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top