Pregunta

A JSpinner se utiliza para almacenar un número en mi solicitud (con un SpinnerNumberModel).

Como era de esperar, la ruleta no permite caracteres no válidos (letras, símbolos, etc.) para ser almacenados. Sin embargo, los caracteres aparecen en el componente giratorio cuando los escribe. Tan pronto como me cambio el foco a otro componente, desaparecen.

¿Hay una manera de evitar que los caracteres no válidos aparezcan en la ruleta?

¿Fue útil?

Solución

Se puede añadir un DocumentFilter al editor de la ruleta para evitar que el carácter no deseado de que se añade al documento. Se obtiene el editor utilizando un código como:

JTextField editor = ((JSpinner.DefaultEditor)spinner.getEditor()).getTextField();

Leer la sección del tutorial Swing en de Ejecución un documento Filtro para más información.

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