我有一个自定义组件GameViewCanvas extends JPanel
将容纳许多图块(800x800 纹理)。现在在 GameViewCanvas 中我已经覆盖了paint()
方法,以便它将在变换后的画布上绘制子项(缩放、平移和旋转)。
我现在想将 MouseEvent 和 MouseMotionEvent 之类的事件委托给各自的子级 - 当然问题是 Swing 不知道子级在实际框架上的位置。我想我也许可以重写类似的方法getComponentAt
在父级中但没有这样的运气 - 我认为 Swing 是直接循环遍历子级?
也许我对这一切的看法都是错误的,所以请指教。
提前致谢。
看一眼JXLayer
。它完全按照您刚才的要求进行操作。
皮特·布洛克(Piet Blok)有一些出色的例子,不幸的是,它们已经从网上消失了。为此,我已将它们提供给您here.
看看TestWrapped
pbjar 源代码中的演示。这可能是最好的例子之一。
ps - JXLayer
现在正式成为 Java 7 的一部分,称为JLayer
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)