gpt4 book ai didi

JavaFX 的 WebEngine 卡在 RUNNING 状态

转载 作者:太空宇宙 更新时间:2023-11-04 06:19:11 25 4
gpt4 key购买 nike

我正在尝试使用 WebEngine 作为 headless 浏览器。这是一个概念证明,它非常模仿 the example in the official Java documentation .

import javafx.scene.web.*;
import javafx.application.*;
import javafx.stage.*;
import javafx.concurrent.Worker.*;
import javafx.beans.value.*;

public class WebEngineTest extends Application {
public void start(Stage s) {
WebEngine we = new WebEngine();

//Print state changes as they happen;
//Should go READY -> SCHEDULED -> RUNNING -> SUCCEEDED
we.getLoadWorker().stateProperty().addListener(
new ChangeListener<State>() {
public void changed(ObservableValue ov, State oldState, State newState) {
System.out.println(oldState + " -> " + newState);
}
});

//Hit some website
we.load("http://javafx.com");
}

public static void main(String[] args) {
launch(args);
}
}

输出:

READY -> SCHEDULED
SCHEDULED -> RUNNING

SUCCEEDED 永远不会被命中,也不会出现任何错误情况。 (预期行为:任务最终应以 SUCCEEDED 状态或某些错误条件终止。)

最佳答案

有同样的问题,评论中的链接帮助了我。只需在 start 方法之外声明您的 Web 引擎,否则 GC 会处理它。

关于JavaFX 的 WebEngine 卡在 RUNNING 状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27652345/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com