SoloCodigo

Programación General => Java => Mensaje iniciado por: Danielo en Domingo 4 de Diciembre de 2011, 23:35

Título: Filtro para jList
Publicado por: Danielo en Domingo 4 de Diciembre de 2011, 23:35
Hola Amigos (tanto tiempo :P)
Tengo que buscar elementos en una jList y que me vaya filtrando según los datos ingresados en un jTextBox.
ej. en el jTextBox escribo "an"
y en la lista (jList) me aparecen todas las coincidencias ( ana, andres, andrea, anabel, antonio).

He estado buscando y encuentro algún que otro código, pero no estoy logrando hacerlo, por ejemplo:

http://java-elrincondetucasa.blogspot.com/2010/08/filtro-para-jlist.html

solución que estaría buena, lástima que falta el applet, je.

Salu2, y agradezco cualquier sugerencia, explicación, código, ejemplo, etc.

Título: Re:Filtro para jList
Publicado por: jorts en Jueves 22 de Diciembre de 2011, 20:13
No acabo de tener claro tú problema , pero se me ocurre esto, si ten entendí bien:
Si los datos los buscas en la JList y quieres que según los carácteres introducidos en un JTextBox se muestren en la JList cambiando esta su contenido, en mi caso crearía un KeyListener  asociado al JTextBox por ejemplo el evento KeyReleased y que a cada carácter se ejecute el método de busqueda que tengas implementado sencillo si lo buscas en la JList , bien este evento provoca la llamada a el método de busqueda y si encuentra recojes coincidencias y creas un nuevo modelo para la JList  con esos datos y se lo metes.
Saludos.
Título: Re:Filtro para jList
Publicado por: su - en Viernes 23 de Diciembre de 2011, 01:10
Yo haria un DefaultListModel (http://docs.oracle.com/javase/1.4.2/docs/api/javax/swing/DefaultListModel.html) para controlar el contenido del jList y le programaria un evento al jTextBox donde usando expresiones regulares (bien escapadas por seguridad) filtra el contenido (mantienes todos los datos en una estructura como un ArrayList y el del DefaultListModel eliminas los que no concuerden con la exprecion regular).