Java 编组DefaultListModel不会写入数据

Java 编组DefaultListModel不会写入数据,java,swing,jaxb,marshalling,Java,Swing,Jaxb,Marshalling,我正在制作一个简单的GUI,其中JLists由DefaultListModels填充 我有一门课: @XmlRootElement (name="data") @XmlAccessorType(XmlAccessType.PUBLIC_MEMBER) public class Data { public DefaultListModel data1; public DefaultListModel data2; 我正在以正常的方式整理它 File file = new File

我正在制作一个简单的GUI,其中JLists由DefaultListModels填充

我有一门课:

@XmlRootElement (name="data")
@XmlAccessorType(XmlAccessType.PUBLIC_MEMBER)
public class Data {
    public DefaultListModel data1;
    public DefaultListModel data2;
我正在以正常的方式整理它

File file = new File("file.xml");
JAXBContext jaxbContext = JAXBContext.newInstance(Data.class);
Marshaller jaxbMarshaller = jaxbContext.createMarshaller();
jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
Marshaller marshaller = jaxbContext.createMarshaller();        
marshaller.marshal(this.parts, file);
问题是XML文件的外观如下所示:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<data>
    <data1>
        <size>6</size>
    </data1>
    <data2>
        <size>1</size>
    </data2>
</data>

6.
1.

换句话说,它不保存数据(字符串向量)。这是否与DefaultListModel不包含字符串的实际向量有关?我必须用Vector来代替吗?

DefaultListModel类是GUI组件的底层模型(
JList
)。业务数据由
数据
类表示。我建议将字符串向量放在那里,然后在
DefaultListModel
中处理它们。您可以对此进行marshall/unmarshall处理,因为JAXB框架不知道DefaultListModel类型,但它将处理基本Java类型

@XmlRootElement (name="data")
@XmlAccessorType(XmlAccessType.PUBLIC_MEMBER)
public class Data {
    public List<String> data1;
    public List<String> data2;
@XmlRootElement(name=“data”)
@XmlAccessorType(XmlAccessType.PUBLIC_成员)
公共类数据{
公开名单数据1;
公开名单数据2;

类是GUI组件的底层模型(
JList
)。您的业务数据由
数据
类表示。我建议将字符串向量放在那里,然后在
DefaultListModel
中处理它们。您可以在此基础上进行marshall/unmarshall处理,因为JAXB框架不知道DefaultListModel类型,但它将处理基本Java类型

@XmlRootElement (name="data")
@XmlAccessorType(XmlAccessType.PUBLIC_MEMBER)
public class Data {
    public List<String> data1;
    public List<String> data2;
@XmlRootElement(name=“data”)
@XmlAccessorType(XmlAccessType.PUBLIC_成员)
公共类数据{
公开名单数据1;
公开名单数据2;

我很惊讶它能给你size元素。你能提供你想要的样本XML吗?6value1value2….我很惊讶它能给你size元素。你能提供你想要的样本XML吗?6value1value2。。。。