ComboBox dinamica Swing

5 respostas
java
A

Ola, estou com um problema a vários dias e não consigo achar uma solução então acabei apelando para o GUJ.
O meu problema é o seguinte: preciso de uma combobox editável q conforme eu digito uma letra no editor ele faz uma pesquisa no banco e preenche novamente a lista(da combobox)…
o problema em si esta no fato q quando digito uma letra na combobox ele realiza a pesquisa e faz o preenchimento corretamente(da lista) porem quando vou digitar a segunda letra ele apaga a primeira e fica apenas a ultima letra digitada. percebi q este problema ocorre pois toda vez q a lista da combobox é atualizada ele limpa o componente editor do combobox. Alguém por favor poderia me dar uma luz do que pesquisar para corrigir, ou algum código pronto para utilizaçao

ps: o modelo de combobox q quero montar segue a mesma ideologia q o campo onde digitamos as tags quando queremos montar um tópico novo aqui no forum.

ps: Utilizo a ultima versão do java. e estou desenvolvendo aplicação para desktop com o swing

5 Respostas

4

Mande seu código jovem, veremos o que fazemos.

A

Criei um método onde configuro a combobox:

private void editarCombobox(){

JTextComponent editor = (JTextComponent) jComboBox1.getEditor().getEditorComponent();

editor.addKeyListener(new KeyAdapter() {

public void keyReleased(KeyEvent e) {

jComboBox1.addItem(editor.getText());

}

});

}

Esta combobox segue um principio parecido, conforme eu digito algo na combobox ela popula a lista de itens da mesma, porem apresenta exatamente o mesmo problema: toda vezes que a lista é populada o componente de edicao apaga tudo q foi digitado anteriormente e repreenche com o q foi digitado

4

É tipo isso que vc quer fazer?

A

exatamente… preciso de uma combobox q conforme eu vou digitando ele pega o q foi digitado no editor da combobox e pesquisa no banco e retorna um arraylist para a lista da combobox

4

O meu funciona com popup não com combobox.

De uma olhada neste link

Foi assim que implementei, aliais é bem chato implementar isso.

Criado 13 de dezembro de 2016
Ultima resposta 15 de dez. de 2016
Respostas 5
Participantes 2