我对此代码有一些问题...这是一个JDialogForm,其中有jTextField和按钮。当我单击按钮以在另一个窗口中使用它时,我想保存此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);但我不知道为什么。
最佳答案
您的班级Zmienne_pomocnicze不是Serializable。必须将其声明为可序列化以便将其写入对象输出流(并确保其所有数据成员也都可序列化,尽管在您的特定情况下,这是正确的)。
关于java - ObjectOutputStream .writeObject,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2938516/