1 package jimm.datavision.gui; 2 import javax.swing.AbstractListModel ; 3 import java.util.ArrayList ; 4 import java.util.Iterator ; 5 6 11 public class SortedListModel extends AbstractListModel { 12 13 ArrayList list; 14 15 public SortedListModel() { 16 list = new ArrayList (); 17 } 18 19 public void add(Comparable obj) { 20 int size = list.size(); 21 if (size == 0) { 22 list.add(obj); 23 fireIntervalAdded(this, 0, 0); 24 return; 25 } 26 27 for (int i = 0; i < list.size(); ++i) { 29 if (obj.compareTo(list.get(i)) < 0) { 30 list.add(i, obj); 31 fireIntervalAdded(this, i , i); 32 return; 33 } 34 } 35 36 list.add(obj); 37 fireIntervalAdded(this, size, size); 38 } 39 40 public void remove(int index) { 41 list.remove(index); 42 fireIntervalRemoved(this, index, index); 43 } 44 45 public void removeAllElements() { 46 int size = list.size(); 47 if (size > 0) { 48 list.clear(); 49 fireIntervalRemoved(this, 0, size - 1); 50 } 51 } 52 53 public Iterator iterator() { return list.iterator(); } 54 55 public int getSize() { return list.size(); } 56 57 public Object getElementAt(int index) { return list.get(index); } 58 59 public Object [] toArray() { return list.toArray(); } 60 61 } 62 | Popular Tags |