编程语言
首页 > 编程语言> > java-Swing:将事件委托给转换后的父级的子级组件

java-Swing:将事件委托给转换后的父级的子级组件

作者:互联网

我有一个自定义组件GameViewCanvas扩展了JPanel,它将容纳许多图块(800×800纹理).现在,在GameViewCanvas中,我重写了paint()方法,以便它将子对象绘制在转换后的画布上(缩放,平移和旋转).

我现在想将诸如MouseEvent和MouseMotionEvent之类的事件委托给相应的子代-当然,问题是Swing不知道子代在实际帧上的位置.我以为我也许可以在父类中重写类似getComponentAt的方法,但是没有这种运气-我认为Swing直接在子类中循环?

也许我要解决所有这些错误,所以请提出建议.
提前致谢.

解决方法:

看看JXLayer.它完全符合您的要求.

彼得·勃洛克(Piet Blok)有一些出色的例子,不幸的是,这些例子已经消失在网上了.为此,我使它们可用here.

看看pbjar源代码中的TestWrapped演示.这可能是最好的例子.

ps-JXLayer现在正式成为Java 7的一部分,称为JLayer

标签:delegation,java,events,swing,transformation
来源: https://codeday.me/bug/20191011/1894458.html