Swing JButton neu designen

ElJarno

Bekanntes 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:
Java:
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
 
Hab nochmal angeschaut. Wenn der button vollkommen transparent ist, kommt er auch wieder... Aber wieso brauchst du nicht Button.setVsisble(false)? Wenn du einen eigenen Button zeicnen willst, wirds sehr schwierig ihn so zu gestalten, dass er so gut aussieht, wie der von Windows. Du brauchst fast eine Vektorgrafik.
 
Also bei mir Funktioniert das nicht, also der Button ist schon transparent nur wenn ich eine rollover tätige verhaspeln sich irgendwie die listener und die buttons werden nicht mehr richtig neu gezeichnet, sprich er ist erst wieder weiss und dann nach mehrmaligen klicken und rollover irgendwann wieder transparent. Naja da ich sowieso vorhabe ein komplettes design zu entwerfen, kannst du mir vielleicht tips geben wie ich ein eigenes look&feel erstell. Hab schon viel dazu gefunden dass man ja über den UIManager schon viel abändern kann nur ist das Windows look&feel etwas hartnäckig bezüglich der änderungen, ich werds später mal mit dem standard look&feel versuchen. Ansonsten würd ich gern selbst eins erstellen.

Gruß Jan
 
Um etwas transparent zu machen... benutzt man setOpaque(boolean)

Um einen eigenen Button zu gestalten kannst du einfach davon ableiten und dann zeichnen was du willst...
Java:
public class MyButton extends JButton

Oder aber du machst es gleich gescheit und schreibst dir eine eigene UI dafür...Schau dir halt mal den JButton an und die Klasse WindowsButtonUI ist zum Beispiel für das WindowsLookAndFeel
 
Zuletzt bearbeitet von einem Moderator:
Oder aber du machst es gleich gescheit und schreibst dir eine eigene UI dafür...Schau dir halt mal den JButton an und die Klasse WindowsButtonUI ist zum Beispiel für das WindowsLookAndFeel

Genau so hatte ich es jetzt eigentlich auch vor, sonst bin ich ja nachher bei jeder Componente am selber rumbasteln. Hab mal vom der Windows Look&Feel Klasse abgeleitet
Java:
com.sun.java.swing.plaf.windows.WindowsLookAndFeel
Um halt die Farbe von allen Komponenten zu ändern. Alles andere soll ja ruhig so bleiben wie es ist.
Beim überschreiben der Methode initSystemColorDefaults ändert sich jedoch nichts im Look&Feel. Ne Idee was ich noch ändern muss?
 
Genau so hatte ich es jetzt eigentlich auch vor, sonst bin ich ja nachher bei jeder Componente am selber rumbasteln. Hab mal vom der Windows Look&Feel Klasse abgeleitet
Java:
com.sun.java.swing.plaf.windows.WindowsLookAndFeel
Um halt die Farbe von allen Komponenten zu ändern. Alles andere soll ja ruhig so bleiben wie es ist.
Beim überschreiben der Methode initSystemColorDefaults ändert sich jedoch nichts im Look&Feel. Ne Idee was ich noch ändern muss?

hä??????:L
Du willst eigene Buttons mit einem anderen Aussehen?? Dann würde ich die ButtonUI ändern...

Und wenn du von JButton erbst und deinen eigenen Button benutzt sieht der auch überall gleich aus ^^....
Wie hier z.B.
How to create a JButton extension with rounded corners? - Stack Overflow
 
hä???
Du willst eigene Buttons mit einem anderen Aussehen?? Dann würde ich die ButtonUI ändern...

Nicht so ganz, ich will das WindowsLookAndFeel benutzen nur mit anderen Farben. Deswegen wollte ich die ableiten und nur die Init-Methode welche die Farben initialisiert überschreiben. Klappt aber nicht.
 
Nicht so ganz, ich will das WindowsLookAndFeel benutzen nur mit anderen Farben. Deswegen wollte ich die ableiten und nur die Init-Methode welche die Farben initialisiert überschreiben. Klappt aber nicht.

Ja dann musst du halt im UIManager die richtigen Properties setzen, aber wenn du pech hast benutzen manche Componenten die gleiche Properties und setzt von mehreren Componenten das um
 
ja ich werds später denk ich mal richtig ausprobieren trotzdem schon mal danke an dieser Stelle für den schnellen Support😀.
Ansonsten halt synth look and feel.
 

Zurück
Oben