作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 setOnSucceeded 监听器来实现 JavaFX 任务。
class GetDailySalesTask extends Task<ObservableList<VBox>>
{
@Override
protected ObservableList<VBox> call() throws Exception
{
TabContentInfrastructure content = new TabContentInfrastructure();
return FXCollections.observableArrayList(content.initTestTabContentData());
}
}
我在这里调用 Java 类:
VBox vb = new VBox();
Task<ObservableList<VBox>> task = new GetDailySalesTask();
Region veil = new Region();
veil.setStyle("-fx-background-color: rgba(0, 0, 0, 0.4)");
veil.setPrefSize(240, 160);
ProgressIndicator p = new ProgressIndicator();
p.setMaxSize(140, 140);
//p.progressProperty().bind(service.progressProperty());
veil.visibleProperty().bind(task.runningProperty());
p.visibleProperty().bind(task.runningProperty());
//vb.visibleProperty().bind(service.runningProperty().not());
//tableView.itemsProperty().bind(service.valueProperty());
StackPane stack = new StackPane();
System.out.println("service.valueProperty() = " + task.valueProperty());
task.setOnSucceeded(new EventHandler<WorkerStateEvent>()
{
@Override
public void handle(WorkerStateEvent t){
System.out.print("Yes**********" + t.getSource().getValue());
stack.getChildren().clear();
t.getSource().getValue();
stack.getChildren().addAll(task.getValue().get(0));
}
});
task.setOnFailed(new EventHandler<WorkerStateEvent>()
{
@Override
public void handle(WorkerStateEvent t){
System.out.print("Entered setOnFailed**********" + t.getSource().getValue());
}
});
stack.getChildren().addAll(vb, veil, p);
tabdata.setContent(stack);
new Thread(task).start();
由于某种原因,setOnSucceeded 没有被调用。你能帮我解决这个问题吗?
附注
public class TabContentInfrastructure
{
public VBox initTestTabContentData() throws InterruptedException
{
Thread.sleep(5000);
final VBox vbox = new VBox(0);
FlowPane flow = new FlowPane();
........................
vbox.getChildren().addAll(flow, screenController);
return vbox;
}
}
最佳答案
关于java - setOnSucceeded 未调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21972375/
我正在尝试使用 setOnSucceeded 监听器来实现 JavaFX 任务。 class GetDailySalesTask extends Task> { @Overri
我是一名优秀的程序员,十分优秀!