0

我有一个字符串,它是我已写入文件的 JInternalFrame.toString(),现在我需要一种方法将其作为 JInternalFrame 加载回来。数据字符串看起来像

javax.swing.JInternalFrame[,0,0,500x400,invalid,hidden,layout=javax.swing.plaf.basic.BasicInternalFrameUI$Handler,alignmentX=0.0,alignmentY=0.0,border=com.apple.laf.AquaInternalFrameUI$CompoundUIBorder@2e00e753,flags=16777216,maximumSize=,minimumSize=java.awt.Dimension[width=150,height=65],preferredSize=,closable=true,defaultCloseOperation=DISPOSE_ON_CLOSE,desktopIcon=javax.swing.JInternalFrame$JDesktopIcon[,0,0,64x64,invalid,hidden,layout=java.awt.BorderLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=0,maximumSize=,minimumSize=,preferredSize=],frameIcon=,iconable=false,isClosed=false,isIcon=false,isMaximum=false,isSelected=false,maximizable=true,opened=false,resizable=true,rootPane=javax.swing.JRootPane[,0,0,0x0,invalid,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=449,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true,title=Test app]

我知道不能将字符串转换为 JInternalFrame,但必须有某种方法来转换它。我该怎么做?

4

1 回答 1

2

我不会尝试序列化JInternalFrame. 为什么?来自Javadoc 的JInternalFrame

警告:此类的序列化对象将与未来的 Swing 版本不兼容。当前的序列化支持适用于运行相同版本 Swing 的应用程序之间的短期存储或 RMI。从 1.4 开始,对所有 JavaBeans TM的长期存储的支持已添加到 java.beans 包中。请参阅 XMLEncoder

我会听取警告并考虑实施XMLEncoder到您的程序中。

于 2013-04-02T00:52:24.667 回答