Сериализуемое Исключение в настроенном Автозаполнении JComboBox

У меня есть JTable и один столбец этой таблицы использует JComboBox как редактор. Таким образом, это работало нормально. Затем я продолжил использовать этот файл JAR здесь, чтобы включить автозаполнение в моем JComboBox. Снова, что работало нормально.

Теперь, когда я хочу сохранить данные из таблицы, как показано ниже;

        public void actionPerformed(ActionEvent e) {
        File outFile= new File("qoutatio.dat");
        try {
            FileOutputStream fous=new FileOutputStream(outFile);
            ObjectOutputStream obj=new ObjectOutputStream(fous);
            obj.writeObject(table);
            obj.flush();
            obj.close();
        } catch (FileNotFoundException ex) {
            Logger.getLogger(MainWindow.class.getName()).log(Level.SEVERE, null, ex);
        } catch (IOException ex) {
            Logger.getLogger(MainWindow.class.getName()).log(Level.SEVERE, null, ex);
        }

    }
};

Программа генерирует следующую ошибку:

run:
 Feb 09, 2015 2:13:54 PM quotationGenerator.MainWindow$2 actionPerformed
SEVERE: null
java.io.NotSerializableException: org.jdesktop.swingx.autocomplete.AutoCompleteComboBoxEditor
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1184)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548)
at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:441)
at javax.swing.JComboBox.writeObject(JComboBox.java:1569)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

Это показывает, что один из классов в файле JAR не Serializable.Понимаю. Мой вопрос: есть ли способ сделать это Serializable? Как мы решаем это?

1 ответ

Решение

Один из вариантов - создать собственный класс, который расширяет org.jdesktop.swingx.autocomplete.AutoCompleteComboBoxEditor и реализует Serializable и установите этот класс в качестве редактора в вашем выпадающем списке.

Другие вопросы по тегам