首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >编组DefaultListModel不写入数据

编组DefaultListModel不写入数据
EN

Stack Overflow用户
提问于 2016-06-22 12:45:34
回答 1查看 69关注 0票数 1

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

我有一堂课:

代码语言:javascript
复制
@XmlRootElement (name="data")
@XmlAccessorType(XmlAccessType.PUBLIC_MEMBER)
public class Data {
    public DefaultListModel data1;
    public DefaultListModel data2;

我正以正常的方式整理它。

代码语言:javascript
复制
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文件如下所示:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<data>
    <data1>
        <size>6</size>
    </data1>
    <data2>
        <size>1</size>
    </data2>
</data>

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-24 10:47:20

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

代码语言:javascript
复制
@XmlRootElement (name="data")
@XmlAccessorType(XmlAccessType.PUBLIC_MEMBER)
public class Data {
    public List<String> data1;
    public List<String> data2;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37968457

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档