Swing Probleme mit jTextField im zusammenspiel mit einem Einblendeffekt (inkl. KSKB)

vandread

Aktives Mitglied
Hallo Leute,

da ich jetzt meinen Einblendeffekt hinbekommen habe (http://www.java-forum.org/awt-swing-swt/141994-fading-jpanel.html), stehe ich jetzt vor einem neuen Problem...

Ich habe das ganze in ein KSKB gepackt, möchte aber trozdem mein Problem mal beschreiben...

Also ich möchte ein jPanel einblenden lassen und in diesem wiederum befindet sich unter anderem auch in jTextField.
Das jTextField soll einen Standarttext anzeigen wie z.B. "Username" sobald man dann reinklick soll der Text verschwinden und es ist leer...
Der Standarttext soll natürlich in einer helleren Farbe sein als die eigentliche Eingabe...
(im KSKB ist der Standarttext rot)

Das Problem ist aber wenn ich das Textfield eingeblendet wird spinnt die Farbe des Textes bzw. es wird der Hintergrund nicht gezeichnet...

Wenn ich beim TextField opaque auf true habe dann ist die Textfarbe richtig aber der Hintergund falsch...
Wenn ich beim TextField opaque auf false habe dann ist die Textfarbe falsch aber der Hintergrund richtig...

Klicke ich aber anschließend in das TextField wird es richtig angezeigt... (repaint)

Am besten ihr schaut euch das KSKB an... (ist ein NetBeans-Projekt)
Ich bin mir sicher ihr werdet schnell sehen was ich meine...
 

Anhänge

Das ist gar nicht mein Problem 🙂
Mein TextField tut genau das was ich möchte, mein problem ist ein rein "visuelles"...

In meinem KSKB sind 4 TextFields... die ersten beiden tun genau was sie sollen...
Drückt man nun auf den Button erscheinen 2 weitere TextFields und dann sieht man was das Problem ist...
 
Ja und leider nein... ):
Wenn ich die Zeile entferne dann funktioniert das wirklich in dem KSKB, doch dann gibt es Probleme mit transparenten Bildern der kann dann diese nicht mehr richtig darstellen... :/
 
Vielleicht hätte ich im anderen Thread erwähnen sollen, dass man VOR dem "super.paint(gPanel);" noch das Composite auf den default-Wert (SrcOver) zurücksetzen muss...
Java:
gPanel.setComposite(AlphaComposite.SrcOver);
super.paint(gPanel);
 

Zurück
Oben