Java将String转换为JLabel

时间:2017-05-02 03:27:22

标签: java string swing jlabel

java中的JLabel可以变成一个String(使用.toString()

同样地,我想从文件中读取该字符串并再次将其转换为JLabel。

(如果这不可能,那么它们是另一种将JLabel存储在文件中然后再重新创建它的方法)

1 个答案:

答案 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;
}