0

このコードにはいくつかの問題があります...これは、jTextField とボタンがある JDialogForm です。ボタンをクリックして別のウィンドウで使用するときに、この Jtextfield からデータを保存したいのですが、なぜ機能しないのかわかりません。私はいつも Exception ek とそこに置いたメッセージを受け取ります。

 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); にあると思います。しかし、理由はわかりません。

4

1 に答える 1

3

あなたのクラス Zmienne_pomocnicze はSerializableではありません。オブジェクト出力ストリームに書き込むには、シリアライズ可能であると宣言する必要があります(特定のケースではこれが当てはまりますが、そのすべてのデータメンバーもシリアライズ可能であることを確認してください)。

于 2010-05-30T12:11:30.557 に答える