Uma enorme duvida!

3 respostas
D

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.

3 Respostas

renzonuccitelli

use uma Thread para fazer isso. Pera aí que vou mudar de computador e coloco o código aqui que eu usei uma vez

renzonuccitelli
public class AcaoPesquisarClientesPorNome implements KeyListener {
	public AcaoPesquisarClientesPorNome(final JTextField campoNome,final BeanTableModel<Cliente> 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
		
	}
	


	

}

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...

Marcelo_FS

O projeto SwingX tem um componente que faz isso…

Criado 26 de dezembro de 2008
Ultima resposta 29 de dez. de 2008
Respostas 3
Participantes 3