java中的JLabel可以变成一个String(使用.toString()
)
同样地,我想从文件中读取该字符串并再次将其转换为JLabel。
(如果这不可能,那么它们是另一种将JLabel存储在文件中然后再重新创建它的方法)
答案 0 :(得分:1)
我同意MadProgrammer的观点,即XMLEncoder和XMLDecoder是可行的方法。
This answer让您了解如何使用它们,但我更改了此代码以专门使用JLabel。
String toString(JLabel jl) {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
XMLEncoder e = new XMLEncoder(baos);
e.writeObject(jl);
e.close();
return new String(baos.toByteArray());
}
JLabel fromString(String str) {
XMLDecoder d = new XMLDecoder(new ByteArrayInputStream(str.getBytes()));
JLabel label = (JLabel) d.readObject();
d.close();
return label;
}