我想使用按钮。在接受信息窗口关闭后,它将调用我想在其中收集有关新用户的数据的 jFrame。现在我想将用户集合保存到文件中。问题是:两个事件(新窗口和序列化)同时发生,所以如果我有 3 个用户在集合中并使用此按钮,那么这三个将被保存。如果我再次推送它以创建第五个用户,第四个将被保存...我认为这是由于存在 2 个线程:如何让保存线程等到新窗口关闭?
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
NewUserGUI dodana = new NewUserGUI ();
dodana.setVisible(true);
User tempUser= new User();
tempUser= dodana.getUser();
listOfUsers.add(tempUser);
}
});
{
try {
ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("users.obiekt"));
out.writeObject(listOfUsers);
out.close();
} catch (IOException i) {
i.printStackTrace();
}
}
}