ユーザーがテーブルに情報を入力できるようにするTableViewを作成しました。私が抱えている問題は、ユーザーが提供した情報を保存し、次回のプログラム実行時に同じ情報で同じテーブルをリロードする必要があることです。私はこれにしばらくお待ちしております。もし誰かが私が大いに感謝するのを助けることができれば。 BELOWは私のObservableListと私が試したメソッドです。私はテーブルの外観をスクリーンキャプチャします。ユーザーがボタンを押してからメソッドを呼び出しました。JavaFXのTableViewからデータを保存/ロードする方法
//get Trail info
public static ObservableList<Stats> getTrailInfo(){
ObservableList<Stats> trailInfo = FXCollections.observableArrayList();
trailInfo.add(new Stats(trailList, timesHiked, daysHiked, hoursHiked, minutesHiked, milesHiked));
return trailInfo;
}
//I ATTEMPTED TO SAVE AND READ IT BACK USING THESE METHODS, BUT I DID NOT HAVE ANY LUCK
private static void write(ObservableList<Stats> stats) {
try {
// write object to file
OutputStream out = new FileOutputStream("TrailName.txt");
ObjectOutputStream oos = new ObjectOutputStream(out);
oos.writeObject(new ArrayList<Stats>(stats));
oos.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
static ObservableList<Stats> pull() {
try {
InputStream inputstream = new FileInputStream("TrailName.txt");
ObjectInputStream ois = new ObjectInputStream(inputstream);
List<Stats> list = (List<Stats>) ois.readObject() ;
return FXCollections.observableList(list);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return FXCollections.emptyObservableList();
}
[TableView ScreenShot][1]
[1]: https://i.stack.imgur.com/m0nyg.png
シリアル化可能なTBHであるかどうかはわかりません。私はいくつかのことを試してみましたが、うまくいきませんでした。別の例で試した最後のことでした。何らかの理由で、私はどのようにTableviewとそのデータを保存し、それをリロードするかに関するオンラインの例を見つけることができません。 – user8284691