Olá, tenho um campo texto com um comando no evento KeyPressed.
Tenho uma tabela embaixo do campo de texto. A idéia é ao usuário digitar alguma letra, fazer uma consulta ao banco com os nomes que começam com aquela letra e popular a tabela com esses resultados.
O problema está no atraso de 1 letra.
Por exemplo,
se eu digito “t” ele faz a query “select * from where nome like ‘%’”;
se eu digito “te” ele faz a query “select * from where nome like ‘t%’”;
se eu digito “tes” ele faz a query “select * from where nome like ‘te%’”;
se eu digito “test” ele faz a query “select * from where nome like ‘tes%’”;
tem sempre um atraso de 1 letra. Pelo jeito ele executa o comando antes de realmente inserir a ultima letra no campo.
if(!visor.getText().equals("")){
DefaultTableModel modelo = (DefaultTableModel) tabela.getModel();
for(int i=0;i<modelo.getRowCount();i++) modelo.removeRow(0); //apaga a tabela em toda consulta, para colocar os nomes novos.
conexao.Consulta(modelo, visor.getText()); //executa a query "select * from <tabela> where nome like '"+visor+"%'";
}
Queria tirar esse atraso de 1 letra.
{está confuso ? rs}
flow