Hey Leute,
ein weiteres Nimbus Problemchen.
Ich hab 2 JProgressBars und bin damit auch sehr zufrieden. Außerdem ist global das Nimbus L&F gesetzt.
Jetzt steht eine der ProgressBars in einer Orangen Umgebung (schaut gut aus) während die andere in einer blauen steht (schaut schrecklich aus).
Was ich will ist, dass die eine im normalen Nimbus L&F erscheint während die Andere das Nimbus L&F annimmt aber mit "nimbusOrange" blau. Ich hab es bisher immer hinbekommen das entweder beide blau sind oder beide Orange. Mein bester Versuch sieht momentan so aus:
Auf die Art zeichnet er aber gar nicht den Fortschritt. Also bei einem Wert von 50 ist die ProgressBar beispielsweise immer noch leer.
Also dachte ich klar, man braucht den vorderen painter für den Fortschritt ja auch. Wenn ich jetzt aber die 6. Zeile wieder hinzufüge ist die ProgressBar wieder Orange :autsch:
Irgendwie scheiter ich daran dabei kann das doch nicht so schwer sein. Ein Blick in den Painter zeigt, dass die Farben von nimbusOrange zusammengemixt werden. Aber irgendwie scheint er die Änderung zu ignorieren. Ich versteh das nicht
Hier der Painter vom Nimbus L&F: ProgressBarPainter.java
Ich schätze es liegt daran das ich hier keine neue Instanz von den Paintern erstelle sondern die aus dem Nimbus einfach rein lade... aber wie kann ich das ändern?
Ich bin mir ziemlich sicher das es daran liegt, denn wenn ich in der 3. Zeile jetzt die Defaults von UIManager.getDefaults(); nehme, sind danach wieder beide ProgressBars blau...
Es ist zum verrückt werden
Vielen Dank für die Hilfe und liebe Grüße
Highchiller
ein weiteres Nimbus Problemchen.
Ich hab 2 JProgressBars und bin damit auch sehr zufrieden. Außerdem ist global das Nimbus L&F gesetzt.
Jetzt steht eine der ProgressBars in einer Orangen Umgebung (schaut gut aus) während die andere in einer blauen steht (schaut schrecklich aus).
Was ich will ist, dass die eine im normalen Nimbus L&F erscheint während die Andere das Nimbus L&F annimmt aber mit "nimbusOrange" blau. Ich hab es bisher immer hinbekommen das entweder beide blau sind oder beide Orange. Mein bester Versuch sieht momentan so aus:
Java:
JProgressBar progressBar = new JProgressBar();
UIDefaults overrides = new UIDefaults();
overrides.put("nimbusOrange", Color.BLUE);
overrides.put("ProgressBar[Enabled].backgroundPainter", UIManager.get("ProgressBar[Enabled].backgroundPainter"));
//overrides.put("ProgressBar[Enabled].foregroundPainter", UIManager.get("ProgressBar[Enabled].foregroundPainter"));
progressBar.putClientProperty("Nimbus.Overrides", overrides);
progressBar.putClientProperty("Nimbus.Overrides.InheritDefaults", false);
Auf die Art zeichnet er aber gar nicht den Fortschritt. Also bei einem Wert von 50 ist die ProgressBar beispielsweise immer noch leer.
Also dachte ich klar, man braucht den vorderen painter für den Fortschritt ja auch. Wenn ich jetzt aber die 6. Zeile wieder hinzufüge ist die ProgressBar wieder Orange :autsch:
Irgendwie scheiter ich daran dabei kann das doch nicht so schwer sein. Ein Blick in den Painter zeigt, dass die Farben von nimbusOrange zusammengemixt werden. Aber irgendwie scheint er die Änderung zu ignorieren. Ich versteh das nicht
Hier der Painter vom Nimbus L&F: ProgressBarPainter.java
Ich schätze es liegt daran das ich hier keine neue Instanz von den Paintern erstelle sondern die aus dem Nimbus einfach rein lade... aber wie kann ich das ändern?
Ich bin mir ziemlich sicher das es daran liegt, denn wenn ich in der 3. Zeile jetzt die Defaults von UIManager.getDefaults(); nehme, sind danach wieder beide ProgressBars blau...
Es ist zum verrückt werden
Vielen Dank für die Hilfe und liebe Grüße
Highchiller