2010-05-30 45 views
0

我有這個代碼的一些問題...這是一個JDialogForm,其中我有jTextField和按鈕。我想從這個Jtextfield保存數據,當我點擊按鈕在另一個窗口中使用它,但我不知道它爲什麼不起作用。我總是得到Exception ek和我放在那裏的消息。ObjectOutputStream .writeObject

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {           
    String sciezka = jTextField1.getText(); 
    if (sciezka.length() > 0) 
    { 
     Zmienne_pomocnicze zp = new Zmienne_pomocnicze(); 
     zp.setPrzechowaj(sciezka); 
     try { 
     ObjectOutputStream oos = new ObjectOutputStream (new FileOutputStream("danebaza")); 
     oos.writeObject(zp); 

     oos.close(); 


    } catch(Exception ek) { 
     JOptionPane.showMessageDialog(null, "Nie mozna pobrac nazwy_przedmiotu: " + ek); 
    } 
    } 
    this.setVisible(false); 
}      

其中類Zmienne_pomocnicze看起來像這樣

public class Zmienne_pomocnicze { 

    public String n; 


    public void setPrzechowaj (String neew){ 
     n = neew; 

    } public String getPrzechowaj() { 
     return n; 
    } 
} 

我想的問題是與oos.writeObject(ZP);但我不知道爲什麼。

+0

如果您在異常捕獲塊中添加行ek.printStackTrace(),我相信您會找到答案。 :) – 2010-05-30 12:14:41

回答

3

您的類Zmienne_pomocnicze不是Serializable。您必須聲明它是可序列化的,才能將其寫入對象輸出流(並確保其所有數據成員都可序列化,儘管在特定情況下這是真實的)。

+0

現在感謝它:) :) – bigbluedragon 2010-05-30 12:15:24

+2

如果參數必須實現Serializable,爲什麼不採取一個Serializable對象而不是隻是對象? – 2012-01-17 22:54:56