Hoy hoy e decidido crear este articulo donde le voy a enseñar a hacer búsquedas dinámicas en un JTable sin base de datos. La búsqueda se va a realizar por la columna que nosotros le indiquemos, Pueden ser todas o una sola.
Para lograr hacer esto nosotros usaremos un JComboBox para elegir en cual de las columnas se desea hacer la búsqueda. Como se muestra en la siguiente imagen:
Nosotros usaremos un JTextField para ingresar el dato a buscar en la columna indicada gracias al JComboBox. A este JTextField le crearemos un evento KeyTyped para que realice la búsqueda en automático a medida que vamos escribiendo, sin la necesidad de un botón buscar. Como en el siguiente ejemplo:
Pasos para realizar búsquedas en un JTable en Java:
1-Creamos una interfaz como la siguiente con ayuda de netbeans o a puro código como mas prefieran en este caso yo lo haré en netbeans:
2-Les cambiare el nombre de variable:
- JComboBox = comboFiltro
- JTextField = txtFiltro
- JTable = tablaListado
3-Nuestro JComboBox podrá elegir entre "Codigo, Nombre, DNI o numero de identificación", Para hacer eso nos vamos a propiedades, Model y borramos todo y los cambiamos por las alternativas que queramos que se nos desplegué.
.
Y por fin a programar:
- Antes de escribir el código en el evento de nuestro "txtFiltro" Creamos un método llamado filtro.
- Y como sale error es, es por que no vemos declarado el TableRowSorter así que lo hacemos al principio.
- Y para terminar volvemos a nuestro evento txtFiltro creado anteriormente y escribimos el codigo.
Si quieres descargar el proyecto completo aquí esta gratis:
https://github.com/cesar10garcia2/FiltrarBuscarDatosEnUnaJTableEnJava