Swing Theme Anpassungsproblem
-
Meine Anwendung benutzt das Metal LookAndFeel - dort verfügen die Buttons über eine Art verlauf - sie wirken irgendwie plastisch.
Sobald ich ihnen eine andere Farbe zuweise ist dieser Verlauf nicht mehr vorhanden - egal ob direkt über einen der Setter oder über ein eigenes vom DefaultMetalTheme erbendes Theme.Wie kann ich selbst so einen Verlauf realisieren ? Gibt es irgendwie eine Verlaufs "ColorUIResource" ?
-
ich glaube dieser Verlauf hängt damit zusammen:
http://java.sun.com/j2se/1.4.2/docs/api/java/awt/GradientPaint.html
-
Joa das sieht gut aus - wie bau ich das am gescheitesten für z.B. alle Buttons ein ? Geht das irgendwie global übers LookAndFeel bzw. Theme ? Oder müsste ich mir ne eigene Button Klasse machen ?
-
Das Beste wäre über das Look-and-Feel bzw. das Theme. Wenn du ne eigene Klasse schreibst hast du bei den Standard Dialogen immer noch die alten Buttons.
Das sinnvollste wird sein du guckst dir im Java Src-Code mal an wie die das gemacht haben.
Falls du nicht weist wie: in deinem JDK Ordner is ne src.zip da is der gesamte
Quellcode drin.
-
Wiedermal hat mein teilweise doch eher unstrukturiertes rumtesten für ein bisschen Verwirrung gesorgt
Mit dem DefaultMetalTheme bekommt man so oder so keine plastischen Buttons - das Ocean Theme macht das ... um das jedoch anzupassen hilft tatsächlich ein Blick in den Source- danke für den Tipp!
So in etwa kann mans machen:
public class CustomTheme extends OceanTheme { public void addCustomEntriesToTable(UIDefaults table) { super.addCustomEntriesToTable(table); java.util.List buttonGradient = Arrays.asList( new Object[] {new Float(.3f), new Float(0f), new ColorUIResource(0,0,0), getWhite(), getSecondary2() }); table.put("Button.gradient", buttonGradient); } }