java autocomplete combobox swt

¿Google sugiere una funcionalidad similar en Java SWT?



autocomplete combobox (3)

A lo que te refieres es a una sugerencia automática de ComboBox. Hasta donde yo sé, no está disponible en ninguna biblioteca de widgets estándar de Java. Sin embargo, mucha gente ha construido su propio componente de auto-sugestión. Aquí hay un buen ejemplo con la extensión ".jnlp" de fuente y ejecutable.

Quiero un menú desplegable ComboBox como la Búsqueda de Google (es decir, cuando escribimos una letra, se muestran los elementos que comienzan con esa letra). Cuando aparece la lista desplegable, podemos seleccionar una de las palabras como nuestro valor de cuadro de texto.

¿Puedo hacer esto en SWT?

comboLabel.addKeyListener(new KeyListener() { @Override public void keyReleased(KeyEvent e) { ArrayList<String> listElements = new ArrayList<String>(); // on pressing down arrow list gets expanded i.e list drops down if(e.keyCode == 16777218) { comboLabel.setListVisible(true); } // if key pressed is only a number of charecter or space. else if ((e.keyCode >= 48 && e.keyCode <= 57) || (e.keyCode >= 97 && e.keyCode <= 122) || e.keyCode == 32) { // for removing all previously assigned labels comboLabel.remove(0,comboLabel.getItemCount()-1); listElements = labels.getLabels(comboLabel.getText()); } for (int i=0; i<listElements.size();i++) { comboLabel.add(listElements.get(i),i); } } });


No creo que haya algo así en SWT. Los widgets en SWT deben corresponder a widgets nativos en todas las plataformas (generalmente), por lo que implementar algo así sería difícil. Un lugar para buscar SWT Widgets nuevos o experimentales es el proyecto Nebula , pero tampoco lo veo allí.


no debería ser difícil. Simplemente tome una lista donde están todas las cadenas de búsqueda y luego haga algunos regex o indexof cosas o Collections.binarySearch, etc. Luego dibuje una lista en el campo de texto con todas las opciones. Puedo escribirte un ejemplo. ¿De qué tipo son los datos de búsqueda?