我正在开发一个GUI项目,我必须使用序列化和反序列化。现在我正在处理联系人列表,它有几个文本框,即名字,姓氏,PhoneNumber等和Listview。每当我点击"添加联系人"按钮textBoxes内容被序列化,名字和姓氏被添加到Listview。我的问题是如何序列化Listview项目,它们都是字符串。有没有办法可以将这些数据添加到ArrayList
?以及如何在我的应用程序加载时反序列化数据?我有一个反序列化方法,但不知道如何在initialize()
方法中实现它。谢谢!
@FXML
private ListView<String> listView_Contact;
private final ObservableList<String> myContactList = FXCollections.observableArrayList();
答案 0 :(得分:0)
您可以序列化包含字符串的ArrayList
:
ObjectOutputStream oos = ... ;
oos.writeObject(new ArrayList<String>(myContactList));
并在反序列化时只设置可观察列表中的所有值:
ObjectInputStream ois = ... ;
myContactList.setAll((List<String>)ois.readObject());