JButton Look & Feel anders als das Look & Feels des JFrames machen

zer0

Erfahrenes Mitglied
Hallo,

meine JButtons sollen ein anderes Look & Feel haben als der JFrame. Der Grund ist das ich die Buttons einfärben will, das geht aber mit den Windows Buttons nicht. Für meine weiteren für Komponenten will ich aber das Windows Look & Feel benutzen.

Gibt es da eine Möglichkeit? :)
 
Du kannst mal versuchen (noch nie damit gearbeitet, deshalb event. unkontrolliertes Verhalten), per UIManager ein anderes LnF zu setzen, bevor du den Button erzeugst. Damit hat der Button dann ein anderes.
 
Hallo,

bei einem LookAndFeel gibt es für alles UI-Klassen, beispielsweise für einen Button eine ButtonUI-Klasse. Diese kannst du für jede Komponente setzen. Also könntest du deinem Button einfach eine andere UI setzen.

Code:
JButton button  = new JButton();

button.setUI(WindowsButtonUI.createUI(button));

Gruß

Sascha
 
Hallo,

bei einem LookAndFeel gibt es für alles UI-Klassen, beispielsweise für einen Button eine ButtonUI-Klasse. Diese kannst du für jede Komponente setzen. Also könntest du deinem Button einfach eine andere UI setzen.

Code:
JButton button  = new JButton();

button.setUI(WindowsButtonUI.createUI(button));

Gruß

Sascha

Hallo,

ich habs mal so probiert:
Java:
buttons[i].setUI(MetalButtonUI.createUI(buttons[i]));

bekomme folgenden Fehler angezeigt:
Code:
The method setUI(ComponentUI) from the type JComponent is not visible

Was ist da los?
 
Ich hatte es hier geschrieben, deshalb hab ich das gar nicht bedacht. Du musst es casten, da sonst versucht wird, eine protected-Methode zu holen.

Code:
buttons[i].setUI((ButtonUI)MetalButtonUI.createUI(buttons[i]));

Gruß

Sascha
 
Zurück