2011-10-25 21 views
5

Sono abbastanza fiducioso di aver fatto la mia ricerca prima di venire da te per chiedere aiuto, ma è possibile che abbia trascurato qualcosa.È possibile cambiare lo sfondo di un jspinner usando il nimbus laf?

Sto scrivendo un'interfaccia utente Java utilizzando Nimbus l-a-f. Desidero cambiare il colore di sfondo di un JSpinner sul cambio di stato, cioè, quando viene premuto il pulsante su o giù, il colore di sfondo del campo di testo all'interno del jspinner cambia colore per indicare che il valore è stato alterato.

Sono consapevole questo è possibile utilizzando altri lookandfeels ma non così facile con Nimbus, ad esempio: ((JSpinner.NumberEditor)jSpinner1.getEditor()).getTextField().setBackground(color.yellow);

Ho anche guardato in realtà cambiando il tema del colore del gestore UI, ma ho solo voglia di cambiare la colore quando si verifica un'azione, non solo generale per impostazione predefinita. here o here

Questo è possibile e da dove comincio?

In caso contrario, speravo di cambiare solo il colore di un pulsante: jButton.setBackground(Color.yellow);

Questo è abbastanza facile ma dal momento che il colore predefinito è un gradiente dipinto, come faccio a cambiare di nuovo a questo?

Spero davvero che qualcuno là fuori sappia o possa aiutare.

Molto apprezzato in anticipo!

risposta

1

Sì, è possibile. Vedere l'esempio this (ad esempio SpinnerDemo4) da Le esercitazioni Java per ulteriori dettagli. E sì, ho impostato il LaF su Nimbus durante il test del codice in esso contenuto.

+0

Cheers per la vostra risposta. Anche io ho provato quella demo e ho impostato il laf su nimbus, ma sembra che tutto ciò che sta facendo sia sostituire il componente JTextfield con una JLabel, rimuovendo il numero visibile che richiedo. Quindi ho modificato il codice in modo che l'editor estendesse un campo JTextField e inserisse una riga nel changelistener per cambiare il colore di sfondo, ma il numero non veniva ancora visualizzato. Così ho anche creato un metodo per aggiornare il testo da visualizzare, ma ho ancora bisogno che questo valore sia modificabile manualmente dall'utente, cosa che questo processo non fa. Non capisco perché nimbus ignori SetBackground – Daryl