Opa,
To fazendo um sisteminha de locadora e estou fazendo a parte de consulta…
Só que eu estou querendo fazer de uma maneira que eu não tenho nem idéia de como fazer…
É o seguinte:
Ter um TextField para digitar o nome que quer consulta e logo embaixo tenha uma tabela com todos os clientes cadastrado, apartir de cada letra que fosse digitando no textfield ele iria eliminando da tabela as letras não existente…
Por exemplo:
Na tabela tem:
Nomes:
ANA
DÁRIO
JOÃO
RODRIGO
ROBERTA
Apartir da hora que eu digitasse a letra R sumiria todos os nomes e ficaria só:
RODRIGO
ROBERTA
Alguém pode me da uma luz de como fazer isso?
Obrigado.
use uma Thread para fazer isso. Pera aí que vou mudar de computador e coloco o código aqui que eu usei uma vez
[code]public class AcaoPesquisarClientesPorNome implements KeyListener {
public AcaoPesquisarClientesPorNome(final JTextField campoNome,final BeanTableModel model) {
super();
this.campoNome = campoNome;
this.model=model;
clienteDAO=new ClienteDAO();
}
private ClienteDAO clienteDAO;
private JTextField campoNome;
private BeanTableModel<Cliente> model;
@Override
public void keyPressed(KeyEvent e) {
}
@Override
public void keyReleased(KeyEvent e) {
new Thread(){
public void run(){
List<Cliente> listaDeClientes=clienteDAO.getClientesPorNome(campoNome.getText());
if(listaDeClientes!=null&&listaDeClientes.size()!=0)
model.setBeanList(listaDeClientes);
else
model.setBeanList(new ArrayList<Cliente>());
}
}.start();
}
@Override
public void keyTyped(KeyEvent e) {
// TODO Auto-generated method stub
}
}[/code]
faça uma classe parecida com essa, onde vc passa referencia do seu textField e a tabela que vc deseja alterar para o KeyListener. Então basta colocar o código de atualização no método Run da Thread…
O projeto SwingX tem um componente que faz isso…