我正在开发一个在无头环境中在 Java 上运行的应用程序。我正在通过自定义类处理所有输入和输出;我的根JPanel正在绘制到 aBufferedImage然后呈现给用户。但是,我无法MouseEvents让 theJPanel及其子级处理它们。
目前,我的主类(的子类)的构造函数JPanel使用:
this.enableInputMethods(true);
this.enableEvents(~0);
然后,在onMouseDown(MouseEvent e)和朋友(确实被执行):
dispatchEvent(e);
我也试过processEvent(e)and processMouseEvent(e),但无济于事。
我正在生成MouseEvent使用JPanel子类作为源,并使用MOUSE_PRESSED它的朋友作为 ID。
在构造函数或事件处理程序中我还能做些什么来允许将JPanel事件作为普通事件处理,将其传递给其子级并触发任何ActionEvents焦点更改?