gpt4 book ai didi

java - 如何动态地将项目添加到 JList?

转载 作者:行者123 更新时间:2023-11-30 07:01:41 24 4
gpt4 key购买 nike

每当按下按钮时,我都无法将项目添加到名为 lstContactsJList

当我按下我的新联系人按钮时,应该向 lstContacts 添加一行,但是当我按下按钮时没有任何反应。

这是新联系人按钮的 Action 监听器:

newContactButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
Contacts contacts = new Contacts();

contacts.createContact();
}
});

这是我在联系人类中的 createContact 方法:

ArrayList<String> contactsList = new ArrayList<String>();
public void createContact() {
ContactsDB database = new ContactsDB();
System.out.println("new contact");
contactsList.add("New Contact");
listModel.addElement("New Contact");
}

最后是我的 createCustomUIComponent() 方法:

private void createUIComponents() {
// TODO: place custom component creation code here
listModel = new DefaultListModel();
lstContacts = new JList<String>(listModel);
}

为什么新联系人没有添加到我的 JList 中?

最佳答案

问题出在这里:

Contacts contacts = new Contacts();

contacts.createContact();

每次单击按钮时都会创建一个新的联系人对象,但是 JList没有对 Contacts 的引用目的。我不知道联系人对象是如何定义的,但您应该确保要添加联系人的对象引用了 DefaultListModel .

我看到的另一个问题(但不是您发布的问题的原因)是您调用 new DefaultListModel() ,但列表模型是参数化类型。你可能想调用 new DefaultListModel<String>() .

关于java - 如何动态地将项目添加到 JList?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29702959/

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