我通过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,这也没有用。
为什么我会收到此错误?
答案 0 :(得分:2)
错误告诉您确切的错误 - 您的布局,GroupLayout不可序列化,因此这会阻止您的对象被序列化。
问题和可能的解决方案:为什么尝试序列化并发送JFrame?相反,为什么不发送模型数据或更改的模型数据,让另一端相应地重新创建或修改其视图?