我正在尝试在 Java3D 画布上显示 Java Swing 组件并与之交互。我通过将透明 JPanel 绘制到缓冲图像来显示组件,然后使用 J3DGraphics2D 在画布上绘制该缓冲区。
我想不通的是如何将鼠标事件转发到 JPanel 中的摆动组件。我希望将 Canvas3D 上的所有键盘和鼠标事件发送到 JPanel,然后如果它们没有被任何摆动组件捕获(例如,鼠标不在其中任何一个组件上),则返回到 Canvas3D。
我尝试调用 Container.dispatchEvent(AWTEvent),但它没有成功地将事件分派到适当的组件,即使例如鼠标光标正好位于容器中的按钮上。
有谁知道这样做的方法?这应该是可能的。