2010-05-25 24 views
14

Estoy creando un selector de tiempo usando un JSpinner. El texto dentro del JSpinner es editable. Pero quiero configurar el JSpinner como no editable, porque existe la posibilidad de dar un valor no válido. ¿Alguien puede ayudarme?¿Cómo configurar JSpinner como no editable?

+0

Puede hacer un comentario sobre la respuesta de jfpoilpret si ayudó o no? Y si lo hizo, ¿lo acepta como el correcto? – fish

Respuesta

24

intente lo siguiente:

JSpinner spinner = ...; 
((DefaultEditor) spinner.getEditor()).getTextField().setEditable(false); 

Esto debería funcionar, siempre y cuando usted no cambió el editor spinner mismo llamando spinner.setEditor(...).

Cuéntanos si esto ayuda.

+0

He modificado tu código, funciona bien. JSpinner ampm = nuevo JSpinner(); JFormattedTextField ampmspin = ((JSpinner.DefaultEditor) ampm.getEditor()). GetTextField(); ampmspin.setEditable (falso); Muchas gracias ......... – Arivu2020

+0

Tuve que agregar esto después de configurar el modelo de lista de la ruleta. Entonces funcionó. –

+0

¡Cuando pruebo esto, la ruleta aún se puede editar haciendo clic en la flecha! – yelliver

9

un poco más corto:

JSpinner spinner = new JSpinner(); 
spinner.setEditor(new JSpinner.DefaultEditor(spinner));