sortedlistmodel.java

来自「JXTA中对等节点成员身份协议和检索协议的实例」· Java 代码 · 共 90 行

JAVA
90
字号
//Original source from :
//
//Copyright 1999 jGuru.com (formerly MageLang Institute)
//$Id //depot/main/src/edu/modules/Collections/magercises/Jlist/Solution/SortedListModel.java#2 $
//
//Source has been modified for JXTA dashboard.
//
import javax.swing.*;
import java.util.*;


public class SortedListModel extends AbstractListModel {
    //Define a SortedSet
    SortedSet model;

    public SortedListModel() {
        //Create a TreeSet
        //Store it in SortedSet variable
        model = new TreeSet();
    }

    //ListModel methods
    public int getSize() {
        //Return the model size
        return model.size();
    }

    public Object getElementAt(int index) {
        //Return the appropriate element
        return model.toArray()[index];
    }

    //Other methods
    public void addElement(Object element) {
        if (model.add(element)) {
            fireContentsChanged(this, 0, getSize());
        }
    }

    public void addAll(Object[] elements) {
        Collection c = Arrays.asList(elements);
        model.addAll(c);
        fireContentsChanged(this, 0, getSize());
    }

    public void clear() {
        model.clear();
        fireContentsChanged(this, 0, getSize());
    }

    public boolean contains(Object element) {
        return model.contains(element);
    }

    public Enumeration elements() {
        //Return the appropriate element
        Vector v = new Vector();
        int size = model.size();

        for (int i = 0; i < size; i++) {
            v.addElement(model.toArray()[i]);
        }

        return v.elements();
    }

    public Object firstElement() {
        //Return the appropriate element
        return model.first();
    }

    public Iterator iterator() {
        return model.iterator();
    }

    public Object lastElement() {
        //Return the appropriate element
        return model.last();
    }

    public boolean removeElement(Object element) {
        boolean removed = model.remove(element);

        if (removed) {
            fireContentsChanged(this, 0, getSize());
        }

        return removed;
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?