jComboBox Listar conteudo de banco enquanto escreve no mesmo "editavel"

3 respostas
romulo_wan
private void jComboBoxIn_CidadeActionPerformed(java.awt.event.ActionEvent evt) {

try {
            Conectar.rs = Conectar.stam.executeQuery("select cidade from tabcli where cidade like'" + jComboBoxIn_Cidade.getSelectedItem().toString() + "%'");
            while (Conectar.rs.next()) {
                jComboBoxIn_Cidade.addItem(Conectar.rs.getString("cliente"));                              
            }
            jComboBoxIn_Cidade.showPopup();
        } catch (SQLException ex) {
            System.out.println(ex.getLocalizedMessage());
        }


}

já tentei no keyPressed mais ñ da certo

[color=red]não acontece nada [/color]

:?

3 Respostas

drsmachado

Você apenas copiou e colou o código?
Pergunto por que essa situação

like'"

não permite que a query seja executada.
Se não, pode ter sido apenas um erro de digitação. Se sim, isto pode ser a causa da dificuldade.

romulo_wan

exemplo: pode ficar assim

Conectar.rs = Conectar.stam.executeQuery("select cidade from tabcli where cidade like'A%'");

é a mesma coisa …

Mano isso é o Like da Query

Margel_Douglas

Primeiro: adicione um KeyListener ao invés de um ActionListener
Segundo: seria interessante vc criar o seu ComboBoxModel, e popular ele com o seu Objeto “Cidade”, fica mais orientado e fácil de manipular
Terceiro: ter suas SQLs a view é um tanto condenável, assim como ResultSet também é, esses objetos deveriam ficar na sua DAO

Outro detalhe, o que vc esta fazendo nunca vai dar certo, vc não pega um item quando vc esta escrevendo em um
combobox editable true, vc esta escrevendo em um editor…

para dar certo vc teria que fazer assim…

combo = new JComboBox();
combo.setEditable(true);
combo.getEditor().getEditorComponent().addKeyListener(new KeyAdapter() {
	@Override
	public void keyReleased(KeyEvent e) {
		System.out.println(combo.getEditor().getItem().toString());
	}
});

outra coisa, vc não acha que ficaria muito pesado fazer uma consulta ao banco toda vez que o usuario pressionar uma tecla ???
melhor carregar uma lista antes e buscar dela… :wink:

espero ter ajudado

Criado 7 de junho de 2011
Ultima resposta 7 de jun. de 2011
Respostas 3
Participantes 3