Java高效覆盖透明组件

时间:2011-07-13 07:11:26

标签: java swing overlay

我有一个自定义的JComponent执行复杂的绘画。它设置为非不透明,以便其父级的背景显示它不绘制的部分。

我需要一个跟随鼠标的鼠标叠加(一个简单的形状)。每次鼠标移动时,它都不需要重新绘制它下面的组件。所以我想缓冲JComponent,但因为它是非透明的,调用.paint(buffer)不会绘制父级的背景。

有什么想法吗?

提前致谢。

2 个答案:

答案 0 :(得分:2)

  

我有一个自定义的JComponent执行复杂的绘画。

也许你的复杂性绘画可以用于BufferedImage。然后组件只绘制图像,因此您不必每次都调用复杂的代码。每当影响图像的属性发生变化时,都会重新创建图像。

答案 1 :(得分:1)

请允许我使用JWindow。只是让它可见并在鼠标移动时改变JWindow的位置?