2015-02-09 52 views
0

我有JTable,此表的一列使用JComboBox作爲編輯器。這樣,它運作良好。然後我繼續使用this jar file here在我的JComboBox中啓用自動完成。再次運行正常。自動完成配置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 .Understood.My問題:有沒有使這個的一種方式Serializable?我們如何解決這個問題?

回答

1

一種選擇是創建自己的類,它擴展org.jdesktop.swingx.autocomplete.AutoCompleteComboBoxEditor並實現Serializable和設定這個類作爲您組合框的編輯器。