This week's book giveaway is in the HTML/CSS/JavaScript forum.
We're giving away four copies of Practical SVG and have Chris Coyier on-line!
See this thread for details.
Win a copy of Practical SVG this week in the HTML/CSS/JavaScript forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic

Problem repainting overlapping JPanels

 
Rich Smyth
Ranch Hand
Posts: 87
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I have added a JPanel to a JPanel. The JPanel 'on top' has a tooltip.
If the tooltip is displayed such that the tooltip window is completely within the bounds of the 'upper' JPanel, the area occupied by the tooltip window is not repainted when the tooltip disapears. Can anybody explain why?

The code below demonstrates the problem.

If you run the code: display the tooltip over the grey JPanel. If the tooltip window does not overlap the white JPanel, the repainting
does not occur. If the tooltip touches the white JPanel everything is
ok.



Rich
[ July 18, 2004: Message edited by: Rich Smyth ]
 
David Weitzman
Ranch Hand
Posts: 1365
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Transparent background colors don't tend to work. The JComponent javadocs specify that an opaque component must paint every pixel within its bounds in a non-transparent color. This is a reasonable definition of opaque because it allows less painting when components overlap, but it won't work in this scenario.

To handle the transparency, you might be able to get away with something like this:


[ July 18, 2004: Message edited by: David Weitzman ]
 
Rich Smyth
Ranch Hand
Posts: 87
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
David,

Thank you for the lucid explanation. Your recommendation does the trick.
BTW, in the overriding paintComponent() method I'm sure you meant
super.paintComponent(), not super.paint().

thanks again,

Rich
 
And will you succeed? Yes you will indeed! (98 and 3/4 % guaranteed) - Seuss. tiny ad:
the new thread boost feature brings a LOT of attention to your favorite threads
https://coderanch.com/t/674455/Thread-Boost-feature
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!