This week's book giveaway is in the General Computing forum.
We're giving away four copies of Learning Regular Expressions and have Ben Forta on-line!
See this thread for details.
Win a copy of Learning Regular Expressions this week in the General Computing forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
  • Liutauras Vilda
  • Campbell Ritchie
  • Tim Cooke
  • Bear Bibeault
  • Devaka Cooray
  • Jeanne Boyarsky
  • Knute Snortum
  • Junilu Lacar
Saloon Keepers:
  • Tim Moores
  • Ganesh Patekar
  • Stephan van Hulst
  • Pete Letkeman
  • Carey Brown
  • Tim Holloway
  • Ron McLeod
  • Vijitha Kumara

alpha filter of an element  RSS feed

Ranch Hand
Posts: 32
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.
Posts: 4121
IntelliJ IDE Java Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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...

Consider Paul's rocket mass heater.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!