javascript - 在 SWT 浏览器上等待 javascript 的响应

标签 javascript java swt openlayers-3

我不知道该怎么做。我正在使用 swt 浏览器来运行 openlayers ,我有一些基本功能。所以我想捕获我在 map 上点击的坐标。

我尝试向浏览器小部件添加一个监听器,因此它调用 javascript 上的一个函数来返回鼠标的坐标,但据我所知,浏览器上的单击监听器首先执行,然后在 javascript 上执行 clik事件被执行,因此在第一次尝试时它返回未定义,然后返回预览点击,而不是当前点击。

所以问题的一部分是为了获取坐标,我使用 ol3 函数来获取位置

我正在使用ol3函数来设置鼠标点击

map.on('singleclick', function (evt) {
position = evt.coordinate;
....
})

我有一个返回位置的函数,但需要一段时间才能改变位置。 有没有办法创建类似回调的东西,当 javascript 中的函数完成时,它将调用 java 上的函数,以便它可以更新我的窗口?

最佳答案

您可以在代码中定义一个函数,可以使用从 BrowserFunction 派生的类从 JavaScript 调用该函数:

class MyFunction extends BrowserFunction {
  MyFunction(Browser browser, String name) {
    super (browser, name);
  }

  @Override
  public Object function(Object[] arguments) {
    // Your code
  } 
}

name 是函数的 JavaScript 名称。

更多详情here

关于javascript - 在 SWT 浏览器上等待 javascript 的响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33350787/

相关文章:

javascript - Angularjs 正则表达式

java - 在服务器端运行 javascript

java - 在 JSF 中从请求 ManagedBeans 传递数据

java - 为什么我们需要 JFace Viewer(特别是 TableViewers)的 ContentProvider?

java - SWT 中的 native 文件浏览器小部件

javascript - MarkLogic 使用 javascript 获取 Json 文档的所有嵌套字段名称

javascript - 什么是 Xdata 协议(protocol)?

javascript - 未知的 if 语句在 javascript 中

java - 继续打印白色窗口

java - 在屏幕上绘图,在shell外使用java swt?