java - 向 Jlist 添加一个元素

标签 java swing jlist

我有两个 JList

列表 A 包含以下元素:

  • 1
  • 两个
  • 78
  • 项目4

列表 B 目前为空。

我的框架有这两个列表和一个按钮验证。单击按钮后,列表 A 中的所选项目将被验证是否为整数。如果是这样,所选项目必须转移到列表 B 并从列表 A 中删除。

到目前为止,我所做的是,当单击按钮时,该项目会被复制,但是一旦我选择了另一个项目,前一个项目就会被我不想要的新项目替换。 p>

如何将项目转移(追加)到另一个列表并将其从第一个列表中删除,这样我终于得到了包含所有项目的列表,而不会被新项目替换。

最佳答案

使用DefaultListModel

DefaultListModel dlmA = new DefaultListModel(); // For list A
dlmA.addElement(1);
dlmA.addElement("two");
dlmA.addElement(78);
dlmA.addElement("item4");

listA.setModel(dlmA);

现在,您的列表 B 也是如此。

DefaultListModel dlmB = new DefaultListModel(); // For list B
listB.setModel(dlmB);

如果您想将项目添加到第二个列表,只需将它们添加到 DefaultListModel dlmB 即可。这意味着您必须在工作类中保留对 dlmB 的引用,这样您就可以在按钮的 ActionListener 内向其中添加元素。

public void actionPerformed(ActionEvent evt)
{
    // Perform your checks. If you want to add it to list B, use:
    dlmB.addElement(yourNewElem);
}

关于java - 向 Jlist 添加一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7300560/

相关文章:

java - PUT 在 Spring Data Rest 中的 ManyToMany 关联上

java - JList 没有出现在 JPanel 中

java - 为什么JList不显示新添加的元素?

java - wsimport 结果具有不同的运行时端点

java - API 需要 2 分钟加载数据。想要使用缓存

java - 在构造函数中使用数组常量时出现编译器错误

java - 限制小数位数

java - 我们可以将组合框、单选按钮、文本字段、表格放在文本区域吗?

java - 为什么我需要 EventQueue 在 java EDT 中启动一个新线程? (JAVA)

java - .NET ListBox 的 Swing 等价物