salu2
Joyal
Jose Manuel Mora Fallas
www.acto.go.cr
import javax.swing.*;
import java.util.*;
/**
* Clase que implementa el Modelo de JList para elementos ordenados.
* @author JERF
* @version 1.0
* @see javax.swing.AbstractListModel
*/
public class OrdListModel extends AbstractListModel {
private SortedSet modelo;
/**
* Constructor del Modelo
*/
public OrdListModel() {
modelo = new TreeSet();
}
/**
* Metodo para obtener el total de elementos
* @return Total de elementos o 0 en su defecto
*/
public int getSize() {
return modelo.size();
}
/**
* Metodo que regresa el objeto contenido en el indice indicado
* @param i indice a revisar
* @return Objecto contenido en el indice o null en su defecto
*/
public Object getElementAt(int i) {
return modelo.toArray()[i];
}
/**
* Metodo que agrega un objeto a la lista ordenada
* @param o Objeto que se agregara
*/
public void add(Object o) {
if(modelo.add(o))
fireContentsChanged(this, 0, getSize());
}
/**
* Metodo que agrega todo un arreglo a la lista
* @param o Arreglo a agregar
*/
public void addAll(Object o[]) {
Collection c = Arrays.asList(o);
modelo.addAll
(c);
fireContentsChanged(this, 0, getSize());
}
/**
* Metodo que limpia la lista
*/
public void clear() {
modelo.clear();
fireContentsChanged(this, 0, getSize());
}
/**
* Metodo que dice si se contiene o no un objeto indicado en la lista
* @param o Objeto a buscar
* @return true en caso de encontrarlo o false en su defecto
*/
public boolean contains(Object o) {
return modelo.contains(o);
}
/**
* Metodo que retorna el primer objeto de la lista
* @return Objeto en el tope de la lista
*/
public Object first() {
return modelo.first();
}
/**
* Metodo que retorna el ?ltimo elemento de la lista
* @return Objeto en el final de la lista
*/
public Object last() {
return modelo.last();
}
/**
* Metodo que retorna el iterator correspondiente a la lista
* @return Iterator correspondiente a la lista
* @see java.util.Iterator
*/
public Iterator iterator() {
return
modelo.iterator();
}
/**
* Metodo que quita un objeto de la lista
* @param o Objeto a borrar
* @return true si fue removido o false en su defecto
*/
public boolean removeElement(Object o) {
boolean r =
modelo.remove(o);
if(r)
fireContentsChanged(this, 0, getSize());
return r;
}
/**
* Metodo que retorna el contenido de la lista como un arreglo
* @return Arreglo de Objetos de la lista
*/
public Object[] elements() {
return modelo.toArray();
}
/**
* Metodo que retorna el contenido de la lista como un arreglo
* @return Arreglo de Objetos de la lista
*/
public Object[] toArray() {
return elements();
}
}