【问题标题】:JavaFX Task, Service - ExceptionJavaFX 任务、服务 - 异常
【发布时间】:2012-12-09 19:40:54
【问题描述】:

我不知道为什么,但我在 JavaFX 应用程序上遇到了类似的异常。

不在 FX 应用程序线程上; currentThread = Thread-5

在另一个任务中,即服务中,我正在尝试加载文件或连接到数据库。这些是耗时的操作,所以我想在后台执行它们,但我不能...... 该任务在按下按钮后启动。

我了解到,当您尝试在另一个 thead 任务中更新 gui 时,您会得到它,但我不在这里这样做。

try{
            webEngine.load("http://www.analiza.host-ed.me/wynik.html");
                    }catch(Exception e){
                System.out.println("Blad: "+e); //I get the exception from there
            }

我也试过:webEngine.load(getClass().getResource("wynik.html").toExternalForm()); 得到了同样的结果

感谢您的回答。

【问题讨论】:

  • “这样的异常”? what 之类的异常?你还没有告诉我们你得到了什么异常。请阅读tinyurl.com/so-list(这与 TPL 即 .NET 有什么关系?)
  • 不在 FX 应用程序线程上; currentThread = Thread-5
  • 这甚至没有告诉我们异常类型是什么,更不用说完整的堆栈跟踪了。

标签: multithreading background javafx


【解决方案1】:

webEngine.load 调用封装在Platform.runLater 中。

请参阅Concurrency in JavaFX 详细了解如何执行此操作以及为什么需要这样做。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-26
    • 2014-10-03
    • 2016-04-14
    相关资源
    最近更新 更多