Originariamente inviato da andbin
setOpaque non ti servirebbe .... non ha a che fare con l'Icon rispetto al pulsante (ma con il pulsante rispetto a quello su cui sta "sopra").

La questione è qui. Se è disabilitato, per default prende la icona "normale" e ne genera una immagine "disabilitata" tramite un apposito "filtraggio".

Usa setDisabledIcon().
Allora innanzitutto grazie della risposta. Ho cercato online ma non capisco come usare quel metodo. Ora ho questo codice:

codice:
d.setLocation((int)(larghezza-larghD)/2,200);
d.setSize(larghD,altD);
d.setDisabledIcon(new ImageIcon("/Immagini/Domanda.png"));
d.setEnabled(false);  // Disabilita pulsante
d.setBorder(null);  // Toglie bordo
s.add(d);
Ma non mi visualizza nessun immagine sullo sfondo.
Ho provato anche a scrivere semplicemente setDisabledIcon al posto di setIcon lasciando invariato il parametro, ma non funziona ugualmente.