gpt4 book ai didi

Java Swing DefaultListModel 包含存储更多信息

转载 作者:行者123 更新时间:2023-12-01 07:51:24 27 4
gpt4 key购买 nike

我创建了一个类来存储两个属性

public class MailEntry {
private String mail;
private MailFormat format; // this is an enum

public MailEntry(String mail, MailFormat format) {
this.mail = mail;
this.format = format;
}

public String getMail() {
return mail;
}

public MailFormat getFormat() {
return format;
}
}

Netbeans GUI 为我创建的 JList 声明为

    private javax.swing.JList<String> jList1;

并初始化了一个DefaultListModel

private DefaultListModel<MailEntry> listModel = new DefaultListModel<>();

并将其设置为模型

jList1.setModel(listModel);

但是我得到的是

 error: incompatible types: DefaultListModel<MailEntry> cannot be converted to ListModel<String>
jList1.setModel(listModel);

jList 似乎需要一个字符串模型。但我想存储更多特定于项目的信息,这些信息可以通过 GUI 访问。

我该如何解决这个问题?

最佳答案

问题是你已经声明了 jList1作为...

private javax.swing.JList<String> jList1;

但是您将模型声明为...

DefaultListModel<MailEntry> listModel = new DefaultListModel<>();

MailEntryString不兼容的类和 JList期待 ListModel<String>基于模型。

您需要更改 JList支持您的模型的声明,例如

private javax.swing.JList<MailEntry> jList1;

由于您使用的是 Netbean 的表单编辑器(别让我开始),因此您需要选择 JList从“导航器”

Navigator

从“属性”选项卡中选择“代码”选项卡...

Properties

并更改Type Parameters满足您的要求

关于Java Swing DefaultListModel 包含存储更多信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36778809/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com