javascript - Javascript 可以告诉 JavaFX 产生一个线程并在完成时得到通知吗?

标签 javascript multithreading javafx

我正在尝试看看我是否可以执行以下操作:

  • 让一些 Javascript 调用 JavaFX。
  • 然后让 JavaFX 生成一个线程来完成 Javascript 提供的工作。
  • 回到 Javascript 并允许它在 JavaFX 处理生成的线程时继续。
  • 然后让 JavaFX 在衍生线程的工作完成时通知 Javascript。

据我了解,没有真正广泛支持的 Javascript 多线程。不过,我正在使用 Javascript 和 JavaFX 开发一个项目,如果它能正常工作,它会有所帮助。感谢您的帮助,谢谢!

编辑
我在 JavaFX 中使用 WebEngine 来处理 UI,并使用带有 Javascript 的 HTML 来创建 UI。我没有使用 Nashorn jjs -fx .

最佳答案

上周我尝试做类似的事情,但每次尝试从 javascript 到 javafx 的回调时,虚拟机都会出错。

尽管如此,在 WebEngine Api 中

http://docs.oracle.com/javafx/2/api/javafx/scene/web/WebEngine.html

在名为“从 JavaScript 回调到 Java”的部分中有一个关于如何执行此操作的小示例。

如果这个例子适合你,你只需要在那之后开始一个任务,并且有一篇关于 javafx 中的并发性的文章讨论它

http://docs.oracle.com/javafx/2/threads/jfxpub-threads.htm

每次 loadWorker 发生变化时,我制作的小程序都会使用 executeScript() 函数检查 javascript 对象,如果该对象存在,它就会执行任务。

我想虽然我没有检查这个,但如果示例无法运行,也许您可​​以尝试使用 WebEngine 中包含的 confirmHandler 或 promptHandler 来启动您的任务。

关于javascript - Javascript 可以告诉 JavaFX 产生一个线程并在完成时得到通知吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18150477/

相关文章:

JavaFX 透明窗口仅接收绘制像素上的鼠标事件

css - FXML 样式不适用于动态添加的 TreeView TreeItem

javascript - 清除具体超时时间

javascript - 上一页下一页按钮隐藏在分页中?

c# - 仅从 Threading.Timer 调用方法一次

iphone - 核心数据和线程/Grand Central Dispatch

javascript - Object.keys 以相反的顺序

javascript - 如何在 Django 中检测浏览器的关闭?

multithreading - 多线程意义上的机器指令假设

javafx - CSS 错误解析(预期 LBRACE 位于 [1,9] )