studio para mentor herramientas desarrollo crear con colección avanzado aula aplicaciones java swing search

para - Búsqueda rápida en aplicaciones java swing?



herramientas de android studio pdf (6)

Me pregunto 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 texto, durante su ingreso mejoraré en la búsqueda rápida de fondo en la base de datos, y quiero mostrar datos debajo del cuadro de texto, y él podrá para navegar por los resultados y en pres ingresar el resultado se mostrará en la tabla. Entonces mi pregunta es ¿hay algún componente que ya tenga esta lógica para mostrar? O no lo es, ¿cuál es la mejor manera de implementar eso?

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


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

SwingX tiene tal componente. Vea aquí para 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.


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

  1. Mejore la velocidad de las búsquedas siempre que se ejecuten.
  2. Mejore la capacidad de respuesta de la interfaz de usuario ya que la indexación está sucediendo en un hilo separado.

Por supuesto, exactamente cómo realiza 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, ignore la referencia a la Web 3.0 [sic].


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


Recomiendo encarecidamente que eche un vistazo a Glazed Lists : esta es una de las mejores bibliotecas de código abierto de Java y hace que la mayor parte de lo que pregunta sea muy fácil.



En primer lugar, deberá conectar un oyente al Document JTextField para que se le notifique siempre que el usuario ingrese el campo (o lo modifique).

A partir de ahí, puede disparar 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. Tendrá que administrar todos los resultados de la búsqueda backend para que solo actualice el listbox con el resultado más reciente (por ejemplo, tipos de usuario ''A'', backenf busca eso. Mientras tanto, el usuario ha escrito ''C'', iniciando una búsqueda de back-end para ''AC''. Debe asegurarse de que los resultados de la búsqueda ''A'' no lleguen al listbox si los resultados de búsqueda ''AC'' están disponibles).