我试图将jxbrowser作为一个gui嵌入到opengl游戏中。(实际上它是Minecraft,但在这种情况下不相关)
绘图部分已完成。我可以在任何地方将浏览器UI绘制为四边形。
但是,由于浏览器是在后台运行,我需要将用户的鼠标位置转发到浏览器或浏览器的视图。
我已经尝试了JxBrowser's documentation about forwarding mouse events中的代码,但看起来它只适用于heavyweight widget。
我尝试过使用重量级,但它没有提供烘焙成BufferedImage的方法。
这是我到目前为止所得到的:
{{1}}
答案 0 :(得分:0)
鼠标事件转发也适用于轻量级模式。如果您从提到的article运行示例应用程序,用Browser browser = new Browser(BrowserType.LIGHTWEIGHT);
替换浏览器构造函数,您应该看到它按预期工作。
我注意到在编写 BrowserMouseEvent 实例时没有定义鼠标事件坐标。 请尝试填写 BrowserMouseEvent 实例的所有字段(类似于文章中描述的方式)。
答案 1 :(得分:0)
而且,以下是我如何传递MOUSE_MOVED,因为它不在相应的文档中:
BrowserMouseEvent.BrowserMouseEventBuilder builder = new BrowserMouseEvent.BrowserMouseEventBuilder();
builder.setEventType(MOUSE_MOVED)
.setX(browserX)
.setY(browserY)
.setModifiers(new BrowserKeyEvent.KeyModifiersBuilder().mouseButton().build());
browser.forwardMouseEvent(builder.build());