2011-10-25 20 views
5

Estoy bastante seguro de haber investigado antes de recurrir a usted en busca de ayuda, pero es posible que haya pasado por alto algo.¿Es posible cambiar el fondo de un jspinner usando el nimbus laf?

Estoy escribiendo una UI de Java usando el Nimbus l-a-f. Deseo cambiar el color de fondo de un JSpinner en el cambio de estado, es decir, cuando se presiona el botón arriba o abajo, el color de fondo del campo de texto dentro del jspinner cambia de color para indicar que el valor ha sido alterado.

Soy consciente de que esto es posible el uso de otros lookandfeels pero no es tan fácil con Nimbus, por ejemplo: ((JSpinner.NumberEditor)jSpinner1.getEditor()).getTextField().setBackground(color.yellow);

También he mirado en cambiar realmente el tema del color del gestor de interfaz de usuario, pero sólo desee cambiar el color cuando ocurre una acción, no solo global por defecto. here o here

¿Es esto posible y dónde empiezo?

De no ser así, yo estaba esperando para cambiar sólo el color de un botón: jButton.setBackground(Color.yellow);

Esto es bastante fácil, pero desde el color predeterminado es un gradiente pintado, ¿cómo cambio de nuevo a eso?

Realmente espero que alguien sepa o pueda ayudar.

¡Mucho apreció de antemano!

Respuesta

1

Sí, es posible. Consulte el ejemplo this (es decir, SpinnerDemo4) desde Los Tutoriales de Java para obtener más información. Y sí, configuré el LaF a Nimbus al probar el código allí.

+0

Saludos por su respuesta. Yo también he probado esa demostración y configuré el laf en nimbus, pero parece que todo lo que hace es reemplazar el componente JTextfield por un JLabel, eliminando el número visible que necesito. Así que modifiqué el código para que el Editor extendiera un JTextField en su lugar, y inserté una línea en el changelistener para cambiar el color de fondo, pero el número aún no se visualizaba. Así que también creé un método para actualizar el texto que se mostrará, pero aún necesito que el usuario pueda editar este valor manualmente, lo que no sucede con este proceso. No entiendo por qué nimbus ignora SetBackground – Daryl

Cuestiones relacionadas