Java 将字符串转换为 JLabel

Java convert String to JLabel

java 中的 JLabel 可以转换为字符串(使用 .toString()

同样,我想把我从文件中读取的那个字符串再次转换回 JLabel。

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

我同意 MadProgrammer 的观点,即 XMLEncoder 和 XMLDecoder 是可行的方法。

让您很好地了解如何使用它们,但我更改了这段代码以专门使用 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;
}