如何在 Java Swing 应用程序中防止来自 JList 的重复值?
How to Prevent Duplicate Values From JList in Java Swing Application?
我正在使用 Netbeans IDE。是否有任何 属性 可用于防止 JList 中的重复条目。
任何建议(示例链接)将不胜感激。
是的,您可以使用 LinkedHashSet
来消除重复的条目并保持元素的顺序。您需要在为 JList
创建模型之前执行此操作,然后从这个新创建的 LinkedHashSet
提供模型
这个 ListModel 可以解决问题:
import java.util.Collection;
import java.util.LinkedHashSet;
import javax.swing.DefaultListModel;
public class DistinctListModel<E> extends DefaultListModel<E> {
public DistinctListModel(Collection<E> data) {
for (E e: new LinkedHashSet<E>(data)) {
addElement(e);
}
}
}
我正在使用 Netbeans IDE。是否有任何 属性 可用于防止 JList 中的重复条目。
任何建议(示例链接)将不胜感激。
是的,您可以使用 LinkedHashSet
来消除重复的条目并保持元素的顺序。您需要在为 JList
创建模型之前执行此操作,然后从这个新创建的 LinkedHashSet
这个 ListModel 可以解决问题:
import java.util.Collection;
import java.util.LinkedHashSet;
import javax.swing.DefaultListModel;
public class DistinctListModel<E> extends DefaultListModel<E> {
public DistinctListModel(Collection<E> data) {
for (E e: new LinkedHashSet<E>(data)) {
addElement(e);
}
}
}