【发布时间】:2018-06-20 16:41:07
【问题描述】:
附上下面的代码sn-p。我是多线程的新手。试图做多线程哪种工作。但是,在我第一次单击该按钮后,第二次以后将不再“创建线程”并运行我的方法。
我也尝试过实现 Runnable 接口,但它无法让我的 Anchorpane 引用来加载小吃栏,因此我改用了任务方法。感谢您的帮助!
@FXML
private AnchorPane anchorPane;
Thread thread;
@FXML
void onClickLoginButton(ActionEvent event) throws Exception {
thread = new Thread(task);
thread.start();
}
Task<Void> task = new Task<Void>() {
@Override
public Void call(){
//System.out.println("Thread running"+thread.getId());
try {
credential = login.login();
} catch (UnknownHostException u) {
Platform.runLater(() -> {
System.out.println("No wifi");
JFXSnackbar snackbar = new JFXSnackbar(anchorPane);
snackbar.show("Please check your internet connection", 3000);
//u.printStackTrace();
});
} catch (Exception e) {
//e.printStackTrace();
}
//System.out.println("Thread running"+thread.getId());
return null;
}
};
【问题讨论】:
标签: java multithreading java-threads