JProgressBar transparent

Status
Nicht offen für weitere Antworten.

Kangaroo

Mitglied
Hallo miteinander,

ich möchte eine JTable auf der ich einen transparenten JProgressBar platziere. Wenn ich dann die Daten lade, soll der ProgressBar den Status anzeigen. Das Übereinanderlegen ist kein Problem, das funktioniert super mit einem LayeredPane. Aber ich kann den JProgressBar nicht transparent machen. Weiß von euch jemand eine Möglichkeit, dass doch hinzubekommen??

Gruß, Kangaroo.
 
Willst du die ganze Progressbar durchsichtig haben, also auch den Laufbalken? Das nämlich weiß ich spontan nicht. Für einen transparenten Hintergrund müsstest du
Code:
setOpague(false)
setzen (für die Progressbar) und die
Code:
paintComponent()
-Methode überschreiben, dass die den Hintergrund selbst malt, mit entsprechendem Alpha-Wert.

Vielleicht hilft dir auch dieser Link, wo es aber um durchsichtige Fenster geht.

Hier hat es noch einen Link in dieses Forum, wo es um etwas ähnliches geht. Das kann dir ggfs auch helfen.
 
Zuletzt bearbeitet:
Vielen Dank!!

Der Eintrag der schon im Forum ist, glaube ich, ist genau das was ich suche. Außerdem ist ein Link drin, da fragt jemand nach dem selben Problem wie ich. 🙂
Wohl nach den falschen Keywords gesucht.
 
Willst du die ganze Progressbar durchsichtig haben, also auch den Laufbalken? Das nämlich weiß ich spontan nicht. Für einen transparenten Hintergrund müsstest du
Code:
setOpague(false)
setzen (für die Progressbar) und die
Code:
paintComponent()
-Methode überschreiben, dass die den Hintergrund selbst malt, mit entsprechendem Alpha-Wert.

Statt paintComponent zu überschreiben, kann man doch auch einfach über setBackground() eine Farbe mit Alpha Wert setzen.
 
byte hat gesagt.:
Statt paintComponent zu überschreiben, kann man doch auch einfach über setBackground() eine Farbe mit Alpha Wert setzen.

Hm stimmt, scheint ja auch zu gehen 😉 Ich dachte da würde er irgendwas fremdartiges mit anstellen.
 
Guten Morgen,

das mit setBackground() war meine erste Idee. Aber das hat leider nicht bei mir funktioniert. Egal welche Farbe und ob mit oder ohne Alphawert an dem JProgressBar hat sich nichts geändert.
 
Hallo nochmal,

habe jetzt wie in den Forumsbeitrag ein JPanel in das GlassPane gesetzt. Da funktioniert das mit Opaque und setBackground(). Vorher habe ich es ja mit einem JLayeredPane verwendet, da ging es nicht. Es wird dann wahrscheinlich am JLayeredPane liegen. Jetzt weiß ich nur nicht, ob ich dass was ich da machen möchte wirklich gut ist mit einem Glasspane. Ich versuche es mal!! Bei Problemen melde ich mich wieder.
 
Ich bins schon wieder!

Also ich nehme die Aussage von grade eben zurück, es liegt wohl nicht am JLayeredPane sondern daran, wenn ich den JFrame auf das WindowsLookAndFeel umstelle, dann kann ich den ProgressBar nicht mehr transparent machen.
 
Welches JRE benutzt Du denn? In Java 5 gibts teilweise noch Probleme bzgl. Background / Opacity bei manchen JComponents, bsp. kann man bei JToolBars in früheren Versionen keinen Background im XP Style setzen.
 
Also ich habe es mit der Glasspane gemacht und bei 50% Transparenz funktioniert es bei mir mit bisher jedem Look&Feel (arbeite unter Windows mit 1.6.11).
Aber ich habe auch die
Code:
paintComponent()
überschrieben und nutze keine Progressbar, sondern nur einen Label.
 
Ich verwende Java5 habe jetzt mal umgestellt auf Java6 als ich deinen Eintrag gelesen habe, aber leider ließ sich der Progressbar immer noch nicht auf non-opaque umstellen.

Aber die Möglichkeit von KrokoDiehl die paintComponent() zu überschreiben funktioniert ja sehr gut. Deshalb denke ich können wir das Problem als gelöst ansehen.

Danke euch allen!
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben