Pregunta

Me estoy preguntando qué componente es el mejor para mostrar resultados de búsqueda rápidos en swing.Quiero crear algo como esto, crear un campo de texto donde el usuario pueda ingresar algo de texto, durante su ingreso mejoraré la búsqueda rápida de back-end en la base de datos y quiero mostrar los datos debajo del cuadro de texto, y él podrá para explorar los resultados y, al ingresar previamente, el resultado se mostrará en la tabla.Entonces mi pregunta es ¿hay algún componente que ya tenga esta lógica de visualización?O no lo es, ¿cuál es la mejor manera de implementarlo?

Esta búsqueda será algo que me brinde ajax en la web, la misma lógica y la misma apariencia, si es posible en la aplicación de escritorio.

¿Fue útil?

Solución

¿Está buscando algo así como un componente de Autocompletar para Java Swing?

SwingX tiene tal componente.Ver aquí para el JavaDoc.Tiene muchos métodos de utilidad para hacer varias cosas, es decir.completar automáticamente un cuadro de texto a partir del contenido de una JList.

Otros consejos

Primero deberá adjuntar un oyente al JTextFields Document para recibir una notificación cada vez que el usuario escriba en el campo (o lo cambie).

Desde allí, puede ejecutar cualquier código del lado del servidor que necesite.Los resultados de eso se pueden usar para actualizar un cuadro de lista.

Un par de cosas a tener en cuenta:

  1. El código para hacer la búsqueda en el backend debe estar en otro hilo.
  2. El código que actualiza el cuadro de lista debe actualizar el modelo del cuadro de lista.
  3. Deberá administrar todos los resultados de búsqueda de backend para actualizar solo el cuadro de lista con el resultado más reciente (p. ej.el usuario escribe 'A', backenf busca eso.Mientras tanto, el usuario escribió "C", iniciando una búsqueda en el backend de "AC".Debe asegurarse de que los resultados de la búsqueda 'A' no lleguen al cuadro de lista si los resultados de la búsqueda 'AC' están disponibles).

Te recomiendo encarecidamente que eches un vistazo a Listas vidriadas - Esta es una de las mejores bibliotecas Java de código abierto que existen y hace que la mayor parte de lo que preguntas sea súper fácil.

Utilice la búsqueda en hibernación.

El SwingHack (http://oreilly.com/catalog/9780596009076/) el libro tiene un ejemplo de esto.

Con el fin de matar dos pájaros de un tiro:tener un hilo de indexación separado.Esta voluntad:

  1. Mejorar la velocidad de las búsquedas cada vez que se ejecutan.
  2. Mejore la capacidad de respuesta de la interfaz de usuario, ya que la indexación se realiza en un hilo separado.

Por supuesto, exactamente La forma de realizar la indexación variará ampliamente según su aplicación particular.Este es un buen lugar para comenzar a investigar: Indexación de búsqueda.Y por favor, ignoren la referencia a Web 3.0 [sic].

Es posible por supuesto.También es sencillo.Para obtener una lista desplegable de términos, simplemente utilice el menú emergente.Esto es simple.El procesamiento en segundo plano del texto ingresado también es sencillo.¡Disfrutar!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top