java swing popup jlist jtextfield

java swing display resultado de búsqueda en una ventana emergente en JTextField "como búsqueda de facebook"



popup jlist (3)

Al especificar el punto de la ventana emergente, precalcule (código duro) o calcule dinámicamente la ubicación de la esquina inferior izquierda del campo de texto. Use ese valor o ese valor más algunos píxeles más abajo como su ubicación para su ventana emergente.

Intento simular en java swing la misma vista previa de los resultados de búsqueda en Facebook, pero en Java supongo que será:

  • JTextField: la entrada del usuario va aquí
  • JList: que contiene JList de JPanels (resultados)
  • una ventana emergente o algún contenedor para contener la JList

El problema es que no pude controlar cómo mostrar una ventana emergente justo debajo de JTextField, probé autocompletar con swingx, cuadro combinado editable, listas de vidrios ... pero no me está dando buenos resultados

¿Alguien puede ayudarme por favor?


Sin saber más acerca de los requisitos, sugiero buscar en JWindow


Estaba tan enojado de no poder encontrar una clase prefabricada o .jar que pudiera hacer lo que quería, así que hice la mía, de hecho usé JWindow, e hice mi propio menú Dropdown JTextField que se extiende JTextField! fácil de usar: la lista vertical de JPanels con el mismo ancho que JTextField se dibuja y actualiza para mostrar sugerencias cada vez que el usuario ingresa un nuevo carácter en JTextField, luego el usuario puede elegir (o no) entre estas sugerencias con las teclas de flecha del teclado ARRIBA y ABAJO o haciendo clic con el mouse ... y podemos simplemente especificar si queremos usar un filtro de documentos para filtrar la entrada del usuario (como si quisiéramos obtener valores numéricos en JTextField) ... y muchas otras cosas: rocas!

Con mucho gusto compartiré esta clase en la red, solo necesito algo de tiempo para escribir algunos tutos y ejemplos, pero por ahora, aquí hay dos capturas de pantalla de lo que hice, uno usa Gradient color en un JPanel, y el otro usa el color de fondo predeterminado, (no importa las JLabels francesas)