JButton neu designen

ElJarno

Mitglied
Hi Leute,
möchte gerne die JButtons neu designen, sprich Hintegrundfarbe und Aussehen beim Rollover und beim Klicken. Wollte ruhig den JButton so verwenden da ich die Erhebungen und Vertiefung bei dem JButton so schon ganz gut finde. Oder weiß jmd. wie man sowas selber realisiern kann und sozusagen eine Button Klasse selber ertsellt? Hintergrund der Geschicht ist, dass ich den JButton gerne Transparent haben würde. Klappt ja auch mit:

Code:
new Color(0,0,0,0);

Nur erhällt der Button beim Rollover und beim Klicken wieder die alte Farbe. Beim rollover bleibt sogar die Farbe bestehen obwohl ich den Button schon wieder verlassen habe. Liegt ja alles sehr wahrscheinlich am Look&Feel. Will jetzt nicht unbedingt ein eigenes Look&Feel erstellen. Es sei denn jemand kann mir Tips geben wo ich dazu Hilfe finde bzw. sowas wie ne Anleitung. Benutze derzeit das Windows Look&Feel wegen den Ordner Symbolen bei dem jTree z.b. Wollte deswegen dieses eigentlich weiter anwenden. Naja wenn man die Buttons direkt redesignen könnte wäre echt praktisch suche sowas schon länger.

Gruß Jan:)
 
Du könntest dem Button einen Listener hinzufügen, der z.B. auf folgende Events reagiert: Maus gedrückt, Maus losgelassen, Maus "hat den Button betreten", Maus "hat den Button verlassen" und dementsprechend die eigenschaften des Buttons ändern.
Eventuell hilft dir folgende Liste der Button-Eigenschaften bezüglich der Darstellung: http://www.java2s.com/Tutorial/Java/0240__Swing/CustomizingaJButtonLookandFeel.htm
 
Zuletzt bearbeitet:
J sicher, mit den Listern das weiß ich ja, aber mir gehts ja darum dass ich diese Netten 3D-Effekte hinbekomme wie sie beim JButton standard sind. bzw ist es ja beim Windows Look&Feel so der Fall. Die sehen dann wie die Buttons im Office aus. Nur würd ich gern die Farbe von Weiß zu irgend einer Anderen ändern.
 
Hi!
Jedes Look&Feel besteht aus einer Sammlung von UI-Klassen für die einzelnen Komponenten. Diese sind letzten Endes für das Aussehen der Komponenten verantwortlich.
Wenn es also etwas gibt, was man nicht auf herkömmlichen Wege an einer Komponte ändern kann, dann hat man noch die Möglichkeit, die UI-Klasse für die Komponente zu ändern, bzw eine andere UI-Klasse der Komponente zuweisen. Für das Windows L&F sollte beim Button diese Klasse verantwortlich sein:
http://grepcode.com/file/repository.../swing/plaf/windows/WindowsButtonUI.java?av=f

*grüssle*
 
Oke scheint verünftig,
wenn ich jetzt nun von die Klasse ableite kann ich den JButton dann über den UIManager diese UIKlasse zuweisen?

Gruß Jan
 
Hi!
Jede Swing Komponente hat eine Methode setUI() über die du dann deinem Button eine neue UI Instanz zuweisen kannst...

*grüssle*
 
Alles kla. Danke schon mal für deine schnelle zuverlässige Hilfe, wie immer;).
Jetzt noch eins. Hab mich dazu entschieden einfach ne abgeleitete Klasse vom Windows Look&Feel zu erstellen und dann die Methode initSystemColorDefaults zu überschreiben um halt alle Kompenten einfärben zu können. Nur leider bewirkt dies nichts. Ne Idee?
 
Zurück