У меня возникла проблема с записью объекта Serializable в файл. Я смог сузить проблему, но понятия не имею, что бы это вызвало, поэтому я просто ищу совет, который может иметь, потому что я не могу дать пример, но я дам некоторый код оболочки для рисования изображение.Ошибка Java Serializable Object
В основном у меня есть объект, хранящий информацию о программе, которую я сохраняю, записывая объект в файл. У этого есть DefaultComboBoxModel, который является частью того, что вызывает мою проблему. Например:
public class ProgramInfo implements Serializable {
private DefaultComboBoxModel model = new DefaultComboBoxModel();
// A bunch of other stuff
public DefaultComboBoxModel getModel() {
return model;
}
public void setModel(DefaultComboBoxModel m) {
model = m;
}
}
Тогда, у меня есть класс, который расширяет JPanel и выглядит следующим образом:
public class SomePanel extends JPanel {
private SomeOtherClass someOtherClass = new SomeOtherClass();
private ProgramInfo programInfo;
// A bunch of other stuff
public SomePanel(ProgramInfo info) {
programInfo = info;
initGUI();
}
private void initGUI() {
JComboBox box = new JComboBox(programInfo.getModel());
}
}
Проблема возникает после того, как я добавить элемент в DefaultComboBoxModel по телефону model.addElement(). Однако проблема не возникает, если у меня есть только один экземпляр SomePanel в моей программе, но если я создам второй экземпляр SomePanel, он бросает java.io.NotSerializableException на объект SomeOtherClass при попытке записать ProgramInfo в файл. Если я прокомментирую SomeOtherClass, то следующий объект в классе SomePanel выдает ту же ошибку при попытке записать ProgramInfo в файл.
В качестве примечания, я не специалист-программист, это просто хобби, и я полностью самоучитель. Любые советы/материалы для чтения о том, почему это могло произойти, были бы замечательными. Заранее спасибо!
Это исключение возникает, когда объект или член (ы) объекта не является сериализуемым. Проверьте, так ли это. –
«Я смог сузить проблему ...» На что? «но понятия не имею, что может вызвать это». Почему? Исключение? Трассировки стека? – EJP