Ver Mensaje Individual
  #2 (permalink)  
Antiguo 21/10/2009, 12:34
Avatar de HackmanC
HackmanC
 
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 9 meses
Puntos: 260
Sonrisa Respuesta: Busqueda progresiva

Hola,

Posiblemente, podrías implementar tu modelo de datos para el JList creando una clase que extienda AbstractListModel; esta clase podría tener 2 ArrayList privados uno con todos los datos y otro solamente con los datos filtrados.

A esa clase le podrías implementar un método filtrar(String filtro), en ese método pasas todos los datos que cumplan con el filtro al segundo ArrayList y al finalizar disparas el evento fireContentsChanged(); en los otros métodos abstractos getElementAt() y getSize() usas ese segundo ArrayList.

En el formulario JForm creas una instancia de esta clase de modelo de datos y se la asignas al JList con setModel() (de alguna forma llenas el primer ArrayList de tu modelo, con un método mas en el modelo, o haces publico el mismo).

En el KeyListener del JTextField, mandas a llamar al método que creaste en tu modelo filtrar(), y cuando presiones una tecla se van a actualizar los datos del JList solamente con los que dejaste pasar en el filtro.

Pero ... solo es una idea, posiblemente se pueda implementar más fácil con otro método, aunque en este caso estas usando una vista que observa el modelo como es lo adecuado ... creo ...

Saludos,