У меня есть программа, которая должна сохранять все вещи в JTextFields, JComboBoxes и т. Д.
Я натолкнулся на пример, который привел меня к мысли, что я могу достичь этого с помощью класса SingleFrameApplication.
В этой программе более 1000 компонентов, которые необходимо отслеживать при сериализации.
Вот что у меня есть:
public class NewMain extends SingleFrameApplication{
//the file for the session to be saved to
String sessionFile = "sessionState.xml";
//Container is a class I made that extends a JPanel
Container container;
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Application.launch(NewMain.class, args);
}
@Override
protected void startup() {
try {
//load the file
getContext().getSessionStorage().restore(getMainFrame(), sessionFile);
container = new Container(getContext());
show(container);
}
catch (Exception e) {
}
}
@Override
protected void shutdown() {
try {
//save to the file so we can open it later
getContext().getSessionStorage().save(getMainFrame(), sessionFile);
}
catch (Exception e) {
}
}
}
Когда я открываю, запускаю файл .jar и изменяю некоторые значения в JTextFields, JComboBoxes и т. Д., А затем закрываю программу и снова открываю ее, данные не сохраняются. Может кто-нибудь объяснить, почему это не работает, или сделать несколько предложений о том, что мне нужно сделать по-другому? Спасибо.