Hi,
folgende Situation:
Ich habe ein JFRame mit Hintergrundbild, darin ein (halb)-transparentes JPanel (Hintergrund schwarz mit alpha=0.5f) und darin wiederum einen angepassten JButton, der seine Grenzen nicht ganz bemalt (hat abgerundete Ecken).
Der Button muss desöfteren neu gezeichnet werden (repaint), wenn man mit der Maus drüberfährt, klickt oÄ.
Dabei entsteht aber das Problem, dass die Bereiche des Buttons, die nicht vollgeständig gezeichnet werden, immer dunkler werden. Ich nehme mal an, dass das daher kommt, dass das Panel im Hintergrund im Bereich des Buttons ebenfalls mit gezeichnet wird und dadurch die Transparenz irgendwann verloren geht.
Habe sowohl beim JPanel und JButton das paintComponent überschrieben, setOpaque auf false gesetzt und beim JButton noch setContentAreFilled, setBorderPainted und setRolloverEnabled ebenfalls auf false gesetzt.
Das repaint() erfolgt bei MouseEvents.
Ist hinter dem Button keine transparente Komponente, funktioniert er übrigens wie gewollt.
Wenn das nicht ganz verständlich sein sollte, würde ich auch eben Screenshots machen oder ne Beispielklasse des Problems schreiben.
Danke schonmal für die Hilfe,
Alex
folgende Situation:
Ich habe ein JFRame mit Hintergrundbild, darin ein (halb)-transparentes JPanel (Hintergrund schwarz mit alpha=0.5f) und darin wiederum einen angepassten JButton, der seine Grenzen nicht ganz bemalt (hat abgerundete Ecken).
Der Button muss desöfteren neu gezeichnet werden (repaint), wenn man mit der Maus drüberfährt, klickt oÄ.
Dabei entsteht aber das Problem, dass die Bereiche des Buttons, die nicht vollgeständig gezeichnet werden, immer dunkler werden. Ich nehme mal an, dass das daher kommt, dass das Panel im Hintergrund im Bereich des Buttons ebenfalls mit gezeichnet wird und dadurch die Transparenz irgendwann verloren geht.
Habe sowohl beim JPanel und JButton das paintComponent überschrieben, setOpaque auf false gesetzt und beim JButton noch setContentAreFilled, setBorderPainted und setRolloverEnabled ebenfalls auf false gesetzt.
Das repaint() erfolgt bei MouseEvents.
Ist hinter dem Button keine transparente Komponente, funktioniert er übrigens wie gewollt.
Wenn das nicht ganz verständlich sein sollte, würde ich auch eben Screenshots machen oder ne Beispielklasse des Problems schreiben.
Danke schonmal für die Hilfe,
Alex