Forums Register Login

alpha filter of an element

+Pie Number of slices to send: Send
Hello,
Is it possible to set the alpha filter of an element (0-100%) of an element? If this is not formally implemented, is there a pseudo- way of doing this? What I am looking for is something which allows elements to be semi-transparent over an image background.
Thanks.
+Pie Number of slices to send: Send
You can call setOpaque( false ) on any JComponent. This makes the component ignore any background color set on it and it allows the background of it's parent to show through. This isn't anything as sophisticated as setting an aplha filter, but to do that correctly you'd probably have to make a look and feel, or subclass every component. I tried overriding the paintChildren() method to paint to a buffer and mess with the buffer's alpha filter before painting the buffer on the component, and this seemed to work pretty well, except if you click on the button in the example, it isn't transparent until the parent panel is updated. I think this is because the look and feel ( or the component) calls the component's paintComponent() method directly, instead of painting the whole screen again. This is good for performance, but it breaks this alpha filter method.

I'll post the code I used to test this out, maybe it will help someone work around this problem...

It sure was nice of your sister to lend us her car. Let's show our appreciation by sharing this tiny ad:
a bit of art, as a gift, the permaculture playing cards
https://gardener-gift.com


reply
reply
This thread has been viewed 1406 times.
Similar Threads
Making a color transparent in an image
How to draw a layer with some annotations over a big picture?
Did older Java have problems with Transparent Images?
Is this even possible in Java? Overlaying multiple images with alpha channels
SWT Composite setBackgroundImage() doesn't support transparency?
More...

All times above are in ranch (not your local) time.
The current ranch time is
Mar 28, 2024 08:11:17.