JButton ... setEnabled() ... Icon ... getGrayColor

schwarzenegger

Grünschnabel
Hallo,


wenn ich setEnabled() auf einen JButton ausführe, dann wird das Icon grau.
Ich will jetzt das Icon haben, aber den Button nicht disablen, sondern nur das Bild "eingrauen".



Originalbild:
6oexdvl4.png


Graubild:
bht2o8em.png




Wie geht das ?


Gruss,
schwarzenegger
 
ImageIcon aktiv = new ImageIcon("src/aktiv.jpg");
ImageIcon grau = new ImageIcon("src/grau.jpg");

button.setIcon(aktiv);
button.setIcon(grau);


? So kann mans machen, musst jetzt nur selbst reinbasteln und ggf. modifizieren/repaint.
 
@Elmu
Ich glaube ich habe mich nicht richtig ausgedrückt.

Wenn man
Code:
button.setEnabled(true)
macht, dann wird das Icon im Button von der API in grau gefärbt.
Wie die API das macht, konnte ich nicht herausfinden.
Ich will genau dieses von der API eingefärbte Icon, nicht irgendein Icon.
Weißt du vielleicht wie die swing-API das Einfärben der Icons macht ?

P.S.: Die Icons, die ich reingestellt habe sind Desktopbilder und für meine Zwecke nicht geeignet.

Gruss,
schwarzenegger
 
Hallo,

es gibt da die Methode .getDisabledIcon().

Schau dir mal die Api von AbstractButton an, davon erbt nämlich der JButton.

MfG
hansmueller
 
Zurück