它适用于Windows Sun JDK 1.6版本13和17
在Ubuntu 11.04 x64上,OpenJDK 1.6.0_22和Sun JDK 1.6.0_24都失败
我想要的是制作一个背景图像面板,在其上面有额外的面板(附加组件 - 例如JButtons,自定义形状等),然后绘制所有正确的图像。我在我的应用中使用了JLayeredPane,但为了举例,下面的代码应该足够了。无论下面的问题,我都乐于提供有关如何做我想做的事情的建议。
我遇到的问题是这幅画的表现真的很奇怪。它不会完全重新绘制(例如,只有图像上方的顶部),它会重新绘制 - 从我注意到间隔越来越大的步骤(例如,第1层油漆,第3层油漆,第9层油漆,第21层油漆,第64层油漆等)。 )。我的猜测是我在这里执行得太多 - 下面有什么明显的错误吗?
在另一个说明中,下面有三条注释行。有趣的是,取消注释其中的任何一个并评论以下行可解决问题。这些图像具有以下属性(并且它看起来并不重要 - 只是大小):
cat.jpg JPEG 640x533 640x533+0+0 8-bit DirectClass 110KB 0.000u 0:00.000
cat-small.jpg JPEG 200x167 200x167+0+0 8-bit DirectClass 7.99KB 0.000u 0:00.000以下是我遇到的Java代码:
import java.awt.Color;
import java.awt.Container;
import java.awt.Graphics;
import java.awt.event.MouseAdapter;
imp