Swing Optik eines JButton an JToolBar anpassen

inv_zim

Gesperrter Benutzer
Hallo,

ich versuche zzt. einen JButton so zu gestalten, dass er die Optik eines JButton in einer JToolBar bekommt, um einen Einheitlichen Eindruck meiner Oberfläche zu erzeugen.
Die Methode setContentAreaFilled(boolean) entfernt zwar die "Button Optik", aber leider auch den Effekt, dass der Button beim MouseOver wieder hervorgehoben wird.

Und um jeden JButton der Optik wegen eine ToolBar drumrumzubauen, ist ja nicht wirklich sauber 😉

Vielleicht hat ja jemand von euch so etwas schonmal ausprobiert?

Danke und Gruß,

inv_zim
 
Was genau meinst du damit?
Ich nehme eigentlich immer direkt Actions die ich auf eine Toolbar lege. Wenn du einen Button hast, müsste eigentliche ein
Code:
myButton.setHideActionText(false)
genügen, um nur das Icon zu zeigen.
Ich empfehle aber die Action 🙂
 
Das Verhalten auf der Toolbar ist ja wie folgt:
Es wird nur das Bild angezeigt, also nicht die ContentArea (der "grafische Button"). Bei einem MouseOver wird aber der Button dann doch "hervorgehoben", das ist genau der Punkt der mit bei einem "handgemachten" Button ohne ContentArea fehlt.

Das mit den Actions werde ich mir zu Herzen nehmen, danke!
 
Vielleicht kannst du dir auch die ganze Spielerei sparen, wenn du das LooAndFeel des Systems setzt, auf dem dein Programm gerade ausgeführt wird.

2 Vorteile:
  1. Du brauchst dich nicht darum zu kümmern, ob die GUI-Elemente zusammenpassen
  2. Für den Benutzer deines Programms sieht alles so aus, wie er es auf seinem Rechner gewohnt ist.

Dazu nur einfach folgenden Code als erste Anweisungen in deine main()-Methode einfügen:
Java:
try {
  UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
}
catch(Exception e) {
  System.err.println(e.toString());
  //nichts weiter zu tun, setzt das MetalLookAndFeel automatisch
}
 
Man sollte vielleicht auch damit aufpassen, bevor man solche Buttons quer auf der GUI verteilt.

Gerade solche "freiliegenden" Buttons, welche eigentlich nur als Button gedeutet werden, weil sie eben aussehen wie Buttons, werden auch wahrgenommen.
Schlimmer wird es, wenn du vielleicht einige Grafiken benutzt zur Kenntlichmachung bestimmter Zustände etc. Der Benutzer weiß ja nachher dann gar nicht, was ein Button ist und was nicht. Er würde folglich alle Icons mit der Maus überfahren müssen.

Daher wäre ich eher vorsichtig mit solchen Buttons
 

Neue Themen


Zurück
Oben