[alert type=»warning»]Hay una actualización de esta librería, y esta versión ya no podrá ser descargada ni será actualizada más, puedes revisar la nueva versión aquí[/alert]
Hace tiempo había publicado una librería que contenía unos componentes, concretamente unos JTextField que tenían la posibilidad de Autocompletar los resultados mientras se va escribiendo en estos.
Estos componentes eran de lo más visto en mi anterior blog y siempre me hacían peticiones para mejorarlo o corregir errores, ahora con la mudanza (forzada) que tuve que hacer vuelvo a poner a disposición de todos esta herramienta que, si es muy útil.
No traigo exactamente lo mismo de antes ya que, la he trabajado de forma que no necesitan poner un componente, ahora las cosas son mucho más fáciles.
Paso 1
Descargar la librería que pueden descargar desde aquí
[alert type=»warning»]Hay una actualización de esta librería, y esta versión ya no podrá ser descargada ni será actualizada más, puedes revisar la nueva versión aquí[/alert]
Paso 2
Añadir la librería a su proyecto ( en este caso estoy usando netbeans 7.2 pero no es necesario ).
Solo queda buscar el JAR de la librería ( que descargaste arriba )
Paso 3
Ya solo nos queda usarla, como siempre importando los paquetes necesarios, en este caso solo es 1 clase:
import com.mxrck.autocompleter.TextAutoCompleter;
Crear una instancia y llenarla con nuevos items:
TextAutoCompleter textAutoAcompleter = new TextAutoCompleter( tuJTextField );
Obviamente tuJTextField es un JTextField que hayas creado en tu clase, ese es el constructor principal, pero también he agregado otros que sirven para solo al instanciar el objeto se le pasen items para autoacompletar ya sea un Array de String o un ArrayList<String>, así como otras opciones que mencionaré más adelante.
¿Como comenzar a utilizarlo?
Bien hasta este momento ya lo hemos instanciado y está listo para comenzar a funcionar, pero si no le has pasado items entonces no encontraras nada, en unas pocas líneas puedes ingresar los items que necesites
textAutoCompleter.addItem("item de prueba"); textAutoCompleter.addItem("segunda prueba"); textAutoCompleter.addItem("autoAcompletar"); textAutoCompleter.addItem("Java");
Está todo listo, ya solo te queda escribir en el cuadro de texto y ver como se rellena automáticamente.
Existen más opciones por recomendación de quienes estuvieron siguiendo mi trabajo y algunos agregados que he hecho, por defecto el TextAutoCompleter solo busca por prefijos pero puede ser modificado para que busque también por inflijo o sufijo ya sea por medio del constructor o con una línea de código:
textAutoCompleter.setMode(-1); // prefijo, viene por defecto textAutoCompleter.setMode(0); // infijo textAutoCompleter.setMode(1); // sufijo
Podemos ver las maneras en que trabajaría de las 3 formas diferentes:

- Infijo, busca coincidencias que se encuentren por dentro del item, funciona igual que un prefijo y un sufijo al mismo tiempo, pero también evalúa los fragmentos internos
textAutoCompleter.setCaseSensitive(true); // Sensible a mayúsculas textAutoCompleter.setCaseSensitive(false); //No sensible a mayúsculas
Cuenta con más métodos para el manejo de los items, que pueden ir probando, cualquier problema con la librería o alguna idea para mejorarla son bien recibidas.
Saludos y hasta la próxima entrada.
[alert type=»warning»]Hay una actualización de esta librería, y esta versión ya no podrá ser descargada ni será actualizada más, puedes revisar la nueva versión aquí[/alert]