我正在将 Java2D 用于我正在编写的游戏,并且在我开始将它与其他摇摆组件集成之前使用它没有任何问题。我的问题是当我添加到 JFrame 的第一个组件不是我正在绘制的画布时,当我将鼠标悬停在文本窗格的滚动条上时,会出现一个奇怪的工件。每次我执行应用程序时都会发生这种情况。当我先有画布时,没有问题。
由于某种原因,这似乎仅在使用默认 Java2D 管道时(恰好是 sun.java2d.d3d=true)在 Windows 上发生,并且出现了工件。当我设置 sun.java2d.opengl=true 或 sun.java2d.noddraw=false AND sun.java2d.d3d=false 时,它不会发生。
我猜这是 Direct3D Java2D 管道的某种错误?我可以轻松解决它,但想知道是否有其他人遇到过这样的问题?我正在运行最新的 JDK7u7,但它也发生在以前的版本中。我应该注意,如果我最小化窗口并恢复它,工件就会消失并且永远不会返回,直到我重新启动应用程序。
与神器:
没有工件(先添加画布而不是 JLabel 图像之后):
如果有人对此有任何进一步的信息,我将不胜感激。谢谢!