gpt4 book ai didi

java - 定期 JavaFX 服务

转载 作者:搜寻专家 更新时间:2023-10-31 19:56:34 30 4
gpt4 key购买 nike

我想定期从我的 JavaFX 应用程序执行任务。该任务从远程流中提取数据。

虽然我知道我可以按照下面的建议使用计时器:

JavaFX periodic background task

我相信这应该能够使用 JavaFX 来完成 Service目的。 Javadoc 中提到了指定自定义执行程序(这里想到了 ScheduledThreadPoolExecutor),但是如何指定周期和延迟呢?理想情况下,这将使用服务通常的启动、重置、重新启动和状态绑定(bind)...

public class MyFirstLineService extends Service<String> {
private StringProperty url = new SimpleStringProperty(this, "url");
public final void setUrl(String value) { url.set(value); }
public final String getUrl() { return url.get(); }
public final StringProperty urlProperty() { return url; }

public MyFirstLineService() {
setExecutor(new ScheduledThreadPoolExecutor());
}

protected Task createTask() {
final String _url = getUrl();
return new Task<String>() {
protected String call() throws Exception {
URL u = new URL(_url);
BufferedReader in = new BufferedReader(
new InputStreamReader(u.openStream()));
String result = in.readLine();
in.close();
return result;
}
};
}
}

最佳答案

JavaFX issue tracker - RT18702 中请求了 ScheduledService .

追踪器包括source for a preliminary implementation尚未合并到 2.2 分支中。如果需要,您可以查看该来源,看看它是否有助于改进您的解决方案。

关于java - 定期 JavaFX 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14027838/

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