javafxアプリケーションでバックグラウンドタスクを実行してデータベースからデータをフェッチするためにTaskクラスを使用しています。JavafxのTaskクラスの呼び出しメソッドの戻り値の使い方
public class CustomTask extends Task<ObservableList<ObservableList>> {
TableView tableview;
ObservableList<ObservableList> data;
public CustomTask(TableView tableview) {
this.tableview=tableview;
}
@Override
protected ObservableList<ObservableList> call() throws Exception {
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date date = new Date();
String SQL = "SELECT * from sell where Date='" + dateFormat.format(date) + "'";
ResultSet rs = DBConnect.getResultSet(SQL);
data = DBConnect.generateListDateFromTable(rs, true);
return data;
}
}
データオブジェクトを使用する方法。
これを行う方法の例はありますか? –
onSucceededはvalueまたはonCanceled/onFailedを返しますか?現在の値を返す方法を取り消すかどうかは分かりますが、バインディングが唯一の方法であるかどうかはわかりません。ありがとう – Ewoks
[setOnSucceeded](https://docs.oracle.com/javase/8/javafx/api/javafx/concurrent/Task.html#setOnScheduled-javafx.event.EventHandler-)の値は、タスクは、タスクが成功したときに実行される単なるイベントハンドラです。対応する値を取得するには、[task.getValue()](https://docs.oracle.com/javase/8/javafx/api/javafx/concurrent/Task.html#getValue--)を実行します。 )(この質問に対するmarcの回答のように)イベントハンドラの本体にあります。 – jewelsea