Java NotSerializableException GroupLayout通过RMI发送帧
我正在通过RMI将一个帧发送到另一个帧,例如:Java NotSerializableException GroupLayout通过RMI发送帧,java,jframe,rmi,serializable,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.NotSer
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可序列化,但我一直收到相同的错误
我还尝试在另一个帧(第二帧)中使用transient,这也不起作用
为什么会出现此错误?此错误确切地告诉您出了什么问题--您的布局、GroupLayout不可序列化,因此这会阻止对象被序列化
一个问题和一个可能的解决方案:为什么要尝试序列化并发送JFrame?相反,为什么不发送模型数据或更改后的模型数据,并让另一端相应地重新创建或修改其视图?@y451n:请重新阅读我的建议,因为我没有推荐任何此类内容,我也不推荐。同样,序列化模型、数据,而不是视图(GUI)。它以前咬过我,所以要小心。