Sto facendo un gioco e quando disabilito un pulsante con setEnabled(false);
i pulsanti diventano grigi che si scontri con gli altri colori nel gioco. È un modo per cambiare il colore del pulsante quando è disabilitato?Come cambiare l'aspetto di un JButton disabilitato in java
risposta
Si desidera modificare il Look and Feel che si sta utilizzando. Ci sono tonnellate disponibili per il download e puoi ovviamente crearne uno tuo.
È anche possibile impostare l'icona di disabilitazione con JButton.setDisableIcon()
io non sono al 100% su questo, ma penso che si può sovrascrivere il metodo paint della glasspane del pulsante per sovrapporre con il colore della vostra scelta.
Ecco un tutorial sui vetri di un contenitore:
http://java.sun.com/docs/books/tutorial/uiswing/components/rootpane.html
Se si sta parlando il testo, allora si potrebbe essere in grado di utilizzare l'UIManager per cambiare il colore di primo piano disabilitato. Controlla il UIManager Defaults.
È possibile aggiungere codice HTML al pulsante che offre una vasta gamma di flessibilità, anche ai pulsanti disabilitati.
Example: button.setText("<html><font color = red>3</font></html>");
Funziona bene come soluzione rapida! Ho avuto lo stesso problema della domanda iniziale, stavo programmando un piccolo gioco che utilizza molto i pulsanti disabilitati. – Bernd
Calling setContentAreaFilled (false) su un pulsante farà uno sguardo tasto come se esso è disattivato, anche se non lo è. Tuttavia, non sembra funzionare al contrario.
Se non hai bisogno che il tuo pulsante sia abilitato, allora è una bella soluzione.
del pulsante si ButtonUI
controlli il colore del testo disabili. Fortunatamente, è possibile modificarlo:
button1.setUI(new MetalButtonUI() {
protected Color getDisabledTextColor() {
return Color.BLUE;
}
});
button1.setEnabled(false);
button2.setUI(new MetalButtonUI() {
protected Color getDisabledTextColor() {
return Color.RED;
}
});
button2.setEnabled(false);
I singoli componenti non hanno un vetro. Il vetro è per l'intera cornice. – camickr