NotSerializableException GroupLayout通过RMI发送Frame

时间:2014-01-09 21:13:12

标签: java jframe rmi serializable

我通过RMI将帧发送到另一帧,例如:

public class FrameOne extends javax.swing.JFrame
{
   sendViaRMI(this);
}

public void sendViaRMI(FrameOne frameOne);

但后来我得到了这个例外:

java.rmi.MarshalException: error marshalling arguments; nested exception is: 
    java.io.NotSerializableException: javax.swing.GroupLayout

我尝试使FrameOne Serializable并且我一直收到相同的错误。

我还尝试在其他Frame(FrameTwo)中使用transient,这也没有用。

为什么我会收到此错误?

1 个答案:

答案 0 :(得分:2)

错误告诉您确切的错误 - 您的布局,GroupLayout不可序列化,因此这会阻止您的对象被序列化。

问题和可能的解决方案:为什么尝试序列化并发送JFrame?相反,为什么不发送模型数据或更改的模型数据,让另一端相应地重新创建或修改其视图?