Progressbar Farbe

Förster

Mitglied
Moin zusammen,

ich sitze jetzt schon lang daran und will es aber einfach nicht verstehen.

Ich benutze diesen Code um mein Fortschrittsbalken zu färben:
Java:
        UIManager.put("progressBar.selectionBackground", Color.black);
        UIManager.put("progressBar.selectionForeground", Color.white);
        UIManager.put("progressBar.foreground", new Color(0, 126, 194));
        progressBar = new JProgressBar(0, 100);
        topBar.add(progressBar, gbcProgressBar);
        progressBar.setValue(0);

ABER es funktioniert nicht.
Bei mir färbt der balken sich standartmäßig, in meinen Fall grün.

Erst wenn ich hinzufüge:

Java:
        progressBar.setStringPainted(true);

wird er blau wie er sollte. Woran liegt das zusammen?
setStringPainted fügt doch normalerweise nur die Prozentzahl hinzu. Geht das nicht auch ohne Zahl?

Würde mich freuen wenns mir einer erklären könnte woran das liegt :)

MFG
 

Robert Zenz

Top Contributor
Das ist etwas schwieriger. Das Aussehen und Verhalten von Swing wird von so einem genannten "Look and Feel" gesteuert, kurz, Swing hat Themes! Je nachdem welches LaF verwendet wird, kannst du bestimmte Dinge machen oder auch nicht. So als Beispiele gibt es das LaF fuer Windows, GTK oder da Metallic LaF welches das Standard-Blaeuliche ist. Dann gibt es da noch andere, zum Beispiel das WebLaF oder FlatLaf.

Da du sagst dass deine Progressbar gruen ist, gehe ich mal davon aus dass du das Windows-LaF verwendest. Da muesstest du kontrollieren was das LaF genau unterstuetzt und eventuell auch tut. Ich glaube die Dokumentation von den Dingern ist nicht so toll, wahrscheinlich wird es am einfachsten sein wenn du dir den Quellcode ansiehst. Das sieht spontan nicht so aus als waere da wirklich eine andere Hintergrundfarbe vorgesehen...vielleicht ist es einfacher sich eine eigene Progressbar zu bauen?
 

Förster

Mitglied
Vielen dank erstmal fürs erklären. Ich verwende das Windows Look and Feel das ist richtig. Ich finde es interessant und sehr verwirrend warum so ein letztendlich so einfache Änderung so kompliziert sein kann😂. Ich denke ich werde mich in meinen Fall zufrieden geben das auch eine Prozentzahl vorhanden ist.

Dennoch gut zu wissen und in einigen fällen wahrscheinlich besser eine eigene Fortschrittsanzeige zu entwerfen. Wobei der Code aufwand für so eine Änderung meiner Meinung nach schon sehr übertrieben ist xd.
 

Robert Zenz

Top Contributor
Vielen dank erstmal fürs erklären. Ich verwende das Windows Look and Feel das ist richtig. Ich finde es interessant und sehr verwirrend warum so ein letztendlich so einfache Änderung so kompliziert sein kann😂
Sie sind eben dafuer gedacht das Aussehen von dem System nachzuahmen, nicht komplette Freiheit zu erlauben. Im GTK LaF kannst du zum Beispiel keine Hintergrundfarben fuer Eingabefelder setzen, obwohl die Funktion in der Swing API ist, weil GTK keine Hintergrundfarben fuer Eingabefelder unterstuetzt. Es ist dann natuerlich auch immer die Frage welche Farben der Benutzer in seinem Theme gesetzt hat. Du sagst du haettest das Ding gerne Schwarz, koennte gut sein dass der Hintergrund vom Panel auch Schwarz ist bei einem anderen Benutzer. Das trifft jetzt vielleicht nicht auf dein Projekt zu, aber grundsaetzlich muss man sich mit solchen Fragen dann beschaeftigen wenn man Dinge im Umfeld vom LaF macht.
 

KonradN

Super-Moderator
Mitarbeiter
GUI Client Applikationen sind halt doch ein Stiefkind bei Java. Swing/AWT ist dabei auch noch das älteste UI Framework und daher extrem eingeschränkt.

Für Client Anwendungen wäre es evtl. ratsam, sich einmal JavaFX anzusehen. Das ist deutlich "moderner" und bietet einiges mehr an Funktionalität. Alleine schon das Thema Binding als auch die erstellung von UIs per FXML (deklarativ) ist etwas, das den Wechsel sinnvoll macht.

Bei JavaFX hat man dann auch die Möglichkeit, so Dinge per CSS anzupassen. Das kann also auch durchaus interessant sein.
 

Robert Zenz

Top Contributor
Swing/AWT ist dabei auch noch das älteste UI Framework und daher extrem eingeschränkt.
Ne, tut mir leid, das kann ich so nicht stehen lassen. Zuerst, ja, man merkt schon eine gewisse Hartkantigkeit in Swing, aber das merkt man auch an JavaFX (erstrecht dann wenn man etwas an den bestehenden Komponenten erweitern will). Grundsaetzlich spricht nichts dagegen eine GUI mit Swing zu machen, mit dem Plattform-LaF ist man auch gut integriert die meiste Zeit ueber (nennt mich alt, mir wuerde es Gefallen wenn jede Applikation gleich aussieht...auch wenn das die GNOME Entwickler anders sehen), was bei JavaFX nicht ganz so einfach ist (zumindest waere es mir nicht bewusst). Auf der anderen Seite hat, wie du sagst, JavaFX den Vorteil das man definitiv alles per CSS umstellen kann am Aussehen, und das noch dazu relativ einfach. Und die Bindings sind ganz gut, ja.

Ein anderes Thema ist das bauen. Swing ist integriert in der JRE, JavaFX muss man mitliefern, und ich glaube auch noch einen Build fuer jede Zielplatform machen. Nenn' mich altmodisch, ich finde immer noch das ein jar eine gute Paketform ist (Plattformunabhaengig).

...als auch die erstellung von UIs per FXML (deklarativ) ist etwas, das den Wechsel sinnvoll macht.
Ich hatte mal so einen Prototypen fuer Swing gebaut...ich frage mich wo ich den hingepfeffert habe...
 

KonradN

Super-Moderator
Mitarbeiter
Natürlich kann man mit Swing eine GUI machen. Technologisch ist es aber vergleichbar mit Windows Forms und damit schlicht veraltet. Es fehlt extrem viel, was einem das Leben nun einmal schwer macht, sobald man etwas wirkliches aufsetzen will. Kleine Anfängerprojekte oder so: Ja klar. Aber wenn man ein Produkt erstellen will: Finger weg! Das macht es nur unnötig schwer in der Maintenance und man baut zwingend etwas, das ich schon als Maintenance bezeichnen würde.

Ein anderes Thema ist das bauen. Swing ist integriert in der JRE, JavaFX muss man mitliefern, und ich glaube auch noch einen Build fuer jede Zielplatform machen. Nenn' mich altmodisch, ich finde immer noch das ein jar eine gute Paketform ist (Plattformunabhaengig).

Meine Erfahrungen sind etwas veraltet, aber ein Java auf dem System mit mehreren Java Applikationen hat zu massiven Problemen geführt. Da war es dann so, dass es mit einer neueren Version von Java nicht richtig aussah und dann der Fachbereich gemeckert hat. Dann gab es Startscripte und so was alles recht heftig war. Als dann App-V kam, war das eine riesen Erleichterung und dann wurden App-V Images gebaut und jede Java Anwendung hatte so ein System mit genau Ihrer Java Version.

Und genau das wurde ja von Oracle dann auch als Weg zur Weitergabe gesehen: Man baut ein Image und das wird dann weiter gegeben. Und damit hast Du dann auch keine Probleme mit Abhängigkeiten, da die ja im Image mit drin sind - egal, was da benötigt wird.

Ich hatte mal so einen Prototypen fuer Swing gebaut...ich frage mich wo ich den hingepfeffert habe...
Ach je - ich hatte sowas auch mal etwas entworfen ... das war dann XML basiert und war schon recht enorm. Da ging es aber mehr um Thin Clients, die dann sowas anzeigen sollten. Aber das ist jetzt auch 20 Jahre her ... aber interessant war, als dann Microsoft mit WPF / XAML um die Ecke gekommen ist und viele Konzepte ähnlich waren.

Sowas heutzutage zu bauen ist aber doch Zeitverschwendung. Du brauchst ja so viel. Es geht ja nicht nur um Controls und so. Du willst ja auch Bindings haben. Du willst Checks zur Compile-Zeit u.s.w.

Da sehe ich ehrlich gesagt wenig Sinn.

Ein Bereich, bei dem Swing valide ist: Wenn man spezielle Plattformen hat. Wir haben das teilweise, weil wir auch AIX Systeme im Einsatz haben. Auf AIX hat man kein JavaFX. Aber da geht es um kleine Tools, die nicht wirklich relevant sind (Die laufen per html/css/JS mit Java Backends. Wir haben halt WebSphere & Tomcat Backends unter AIX und die verwenden wir dann).
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Swing Reload JPanel + darin liegende ProgressBar AWT, Swing, JavaFX & SWT 9
A Swing ProgressBar über 2 parallel laufende Threads AWT, Swing, JavaFX & SWT 2
P JavaFx - Progressbar - Füllen mittels mehreren Tasks AWT, Swing, JavaFX & SWT 0
Bluedaishi JavaFX ProgressBar AWT, Swing, JavaFX & SWT 10
T Starten des Programms mit dem Progressbar AWT, Swing, JavaFX & SWT 2
L Progressbar Laufzeitveränderung AWT, Swing, JavaFX & SWT 4
1 Swing Progressbar benutzen um Fortschritt einer Methode anzuzeigen AWT, Swing, JavaFX & SWT 4
B JavaFX Textfields: Fortschritt als ProgressBar und Progressindicator AWT, Swing, JavaFX & SWT 5
MR._FIRE_Flower progressBar in ein bestehendes Programm einbauen AWT, Swing, JavaFX & SWT 3
M Wie binde ich eine JavaFX ProgressBar an eine Datei Übertragung? AWT, Swing, JavaFX & SWT 2
Z Swing Swing und die Progressbar AWT, Swing, JavaFX & SWT 1
I JavaFX Im Controller die ProgressBar mit Task updaten AWT, Swing, JavaFX & SWT 6
R LookAndFeel Wie kann man die Textfarbe der Nimbus ProgressBar nach Füllstand ändern? AWT, Swing, JavaFX & SWT 2
M JavaFX Progressbar bar und track Komponente zur Laufzeit ändern AWT, Swing, JavaFX & SWT 2
Z ProgressBar in Eclipse mit Wizard page? AWT, Swing, JavaFX & SWT 1
W Swing ProgressBar update AWT, Swing, JavaFX & SWT 4
A JavaFX Eine Task mit einer ProgressBar verbinden AWT, Swing, JavaFX & SWT 0
H Nimbus ProgressBar Colors AWT, Swing, JavaFX & SWT 9
P Swing Die ProgressBar wird nicht angezeigt AWT, Swing, JavaFX & SWT 5
B SWT Progressbar mit Textoverlay? AWT, Swing, JavaFX & SWT 3
M ProgressBar in ActionListener AWT, Swing, JavaFX & SWT 4
T Prozessstatus in Progressbar anzeigen AWT, Swing, JavaFX & SWT 5
J Swing Progressbar aktualisiert sich nicht AWT, Swing, JavaFX & SWT 17
V Persistentes Objekt laden Progressbar AWT, Swing, JavaFX & SWT 7
V Swing Progressbar Problem AWT, Swing, JavaFX & SWT 14
B ProgressBar während Berechnung AWT, Swing, JavaFX & SWT 4
Tobse LookAndFeel [Windows7] Nativ aussehnde ProgressBar AWT, Swing, JavaFX & SWT 13
J Progressbar mit einfacher Funktion AWT, Swing, JavaFX & SWT 6
D Progressbar AWT, Swing, JavaFX & SWT 5
H Zeile in DefaultTableModel hinzufügen, ProgressBar AWT, Swing, JavaFX & SWT 4
S Upload Progressbar AWT, Swing, JavaFX & SWT 3
S Dateien kopieren mit ProgressBar AWT, Swing, JavaFX & SWT 6
S Swing ProgressBar AWT, Swing, JavaFX & SWT 3
S SWT ProgressBar: Value/Selection anzeigen AWT, Swing, JavaFX & SWT 4
D SWT JFace Wizard Progressbar AWT, Swing, JavaFX & SWT 4
S ProgressBar newRunnable (schon wieder!) AWT, Swing, JavaFX & SWT 9
ModellbahnerTT Progressbar anzeigen AWT, Swing, JavaFX & SWT 5
J Progressbar aktualisierung nach file übergabe AWT, Swing, JavaFX & SWT 7
P Progressbar in java AWT, Swing, JavaFX & SWT 3
K Frage zu ProgressBar, SwingWorker etc. AWT, Swing, JavaFX & SWT 4
V ProgressBar AWT, Swing, JavaFX & SWT 5
D Suche verticale Progressbar AWT, Swing, JavaFX & SWT 2
M Bug; Swing-Worker, Progressbar und Mouse AWT, Swing, JavaFX & SWT 22
P [SWT] - ProgressBar, Prozentzahlen live anzeigen geht nicht AWT, Swing, JavaFX & SWT 13
P JTable sortiert ProgressBar nicht AWT, Swing, JavaFX & SWT 8
L Button ändert eigenes Bild und Progressbar-Value nicht AWT, Swing, JavaFX & SWT 6
B Eine Alternative zur Steuerung einer ProgressBar? AWT, Swing, JavaFX & SWT 5
N ProgressBar --> brauche Hilfe AWT, Swing, JavaFX & SWT 4
G Progressbar aktualisiert sich nicht (vernünftig). WIESO? AWT, Swing, JavaFX & SWT 2
S Anzeige einer Progressbar. AWT, Swing, JavaFX & SWT 3
M Bild laden + ProgressBar AWT, Swing, JavaFX & SWT 2
C Problem mit ProgressBar AWT, Swing, JavaFX & SWT 4
thE_29 Problem mit ProgressBar AWT, Swing, JavaFX & SWT 2
M ProgressBar in einem Thread? AWT, Swing, JavaFX & SWT 4
C ProgressBar AWT, Swing, JavaFX & SWT 4
H JavaFX PixelWriter.setColor setzt Farbe nicht AWT, Swing, JavaFX & SWT 2
jojoge Wie erstelle ich runde Buttons mit Farbe? AWT, Swing, JavaFX & SWT 1
Kotelettklopfer Frame ändert Farbe nicht AWT, Swing, JavaFX & SWT 12
Hatsi09 GUI Input Farbe ändern AWT, Swing, JavaFX & SWT 0
L Swing Button Farbe ändern/wechseln AWT, Swing, JavaFX & SWT 2
B JavaFX Farbe eines Quadrates in einer separaten Klasse ändern AWT, Swing, JavaFX & SWT 4
L AWT Ändern der Farbe eines BufferedImage mit Farbähnlichkeit AWT, Swing, JavaFX & SWT 5
sascha-sphw JavaFX ListCell höhe verändert sich beim ändern der Text-Farbe AWT, Swing, JavaFX & SWT 14
F Drag&Drop mit Transparenter Farbe bei PNG AWT, Swing, JavaFX & SWT 0
V Swing für jedes Kästchen eine eigene Farbe AWT, Swing, JavaFX & SWT 2
Drachenbauer Swing Wie ändere ich die Farbe der Konturen von jButton und jCombobox? AWT, Swing, JavaFX & SWT 18
Drachenbauer Swing Wie ändere ich die helle geklickt-Farbe von einem JButton? AWT, Swing, JavaFX & SWT 4
H JFreeChart BarDiagramm Balken der gleichen Serie unterschiedliche Farbe zuordnen AWT, Swing, JavaFX & SWT 2
cool_brivk24 Swing Button Farbe ändern AWT, Swing, JavaFX & SWT 2
R Farbe zu einem Eckpunkt generieren AWT, Swing, JavaFX & SWT 2
MaxG. Swing Farbe von Button beim drücken ändern AWT, Swing, JavaFX & SWT 4
P Jframe Bild einfügen, Hintergrund Farbe ändern, und Button schrift Größe ändern AWT, Swing, JavaFX & SWT 2
A JButton soll durch anklicken die Farbe wechseln AWT, Swing, JavaFX & SWT 8
I 2D-Grafik Problem beim Ändern der Farbe eine 2d Objekts AWT, Swing, JavaFX & SWT 3
W Farbe des Fensters AWT, Swing, JavaFX & SWT 2
krgewb Swing JTree - Farbe von nodes ändern AWT, Swing, JavaFX & SWT 4
M Ausgabe der HSL oder RGB Zusammensetzung einer Farbe (JColorChooser AWT, Swing, JavaFX & SWT 1
J JavaFX Bestimmte Zellen im TableView ändern (Farbe und Text) AWT, Swing, JavaFX & SWT 1
Z Möglichkeit mit Listerners die Farbe meiner Objekte zu ändern AWT, Swing, JavaFX & SWT 15
K (GUI) JButton Farbe bei druck ändern AWT, Swing, JavaFX & SWT 3
C Arrow Farbe bei JComboBox AWT, Swing, JavaFX & SWT 2
S Größe und Farbe vom JButton festlegen AWT, Swing, JavaFX & SWT 2
S Farbe ändern bei der paint-Methode AWT, Swing, JavaFX & SWT 5
V LookAndFeel JSpinner Hintergrund Farbe mit Nimbus LaF AWT, Swing, JavaFX & SWT 0
X mouseover verändert ungewollt die farbe AWT, Swing, JavaFX & SWT 4
D Swing Farbe aus Pixel vom JFrame auslesen AWT, Swing, JavaFX & SWT 17
T Swing JScrollPane Farbe der Scrollbar AWT, Swing, JavaFX & SWT 3
J Swing Farbe wählen ohne JColorChooser 2 AWT, Swing, JavaFX & SWT 23
S Farbe von JButton ändern AWT, Swing, JavaFX & SWT 5
T Jbutton Click farbe ändern AWT, Swing, JavaFX & SWT 4
C AWT Wie setze ich die Farbe "leuchtetgrün"? AWT, Swing, JavaFX & SWT 4
B Swing Button Farbe AWT, Swing, JavaFX & SWT 3
M Hover-Farbe über Hintergrundfarbe legen AWT, Swing, JavaFX & SWT 3
N Farbe abziehen AWT, Swing, JavaFX & SWT 3
R Farbe von Buttons stimmt nicht AWT, Swing, JavaFX & SWT 2
B Cursor Farbe ändern AWT, Swing, JavaFX & SWT 6
Y LookAndFeel JTabbedPane: Tab-Farbe mit Nimbus setzen AWT, Swing, JavaFX & SWT 3
T DefaultTableCellRenderer Farbe bestimmter Zelle ändern AWT, Swing, JavaFX & SWT 2
D JComboBox jedes Item mit einer anderen Farbe AWT, Swing, JavaFX & SWT 10
P JLabel Farbe/Bild ändern aus MouseListener heraus AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen

Neue Themen


Oben