Olá, nobres. estou com um probleminha no meu programa.Estou querendo digitar o código de meu cliente em uma janela e automaticamente quero que apareça o nome do cliente em outra textfield. Posso fazer isso através do ActionListener. Se sim adicionem mais ou menos o código(como ficaria ele).
Até o momento o meu está assim
class… implements ActionListener
.
.
.
tfCodigo.addActionListener(this);
.
.
public void actionPerformed(ActionEvent e)
{
String sql = "select * from clientes Where codCliente = "+tfCodigo.getText();
conCli.executeSQL(sql);
conCli.resultset.first();
tfNomeCli.setText(conectaClientes.resultset.getString(“nome”));
.
.
.
Você quer digitar o código em uma janela e mostrar em outra, ou quer digitar o código em um campo e mostrar em outro?
Se for em um campo e mostrar em outro você pode colocar um Listener no evento KeyPressed do campo ou então criar um botão para buscar ou então no evento LostFocus enfim, existem várias maneiras.
Não importa o listener que vc usará. Seria mais interessante se você criasse métodos para fazer isso. Usar algum padrão de projeto, no meu caso uso MVC.
Enfim, se você usar o evento em um botão dentro do actionPerformed você chamaria um método que faria a busca pelo código digitado e se encontrar o registro então você atribui os dados aos campos do formulário.
Entendeu?
vou tentar ver se consigo através de método. É que a minha duvida é : se quando eu dou um addActionListener na minha textfield(aliás, a pesquisa é na mesma janela) eu tenho que por o método de pesquisa do nome no BD dentro do ActionPerformed ou posso por fora?
Quando eu faço esse tipo de busca eu crio um método que recebe o valor do campo. Por exemplo:
public void ObtemCliente(int IdCliente){
ClienteModel model = new ClienteModel(); //instanciando meu objeto model essa classe tem métodos como inclui/altera/exclui/lista obtem referentes ao cliente
ClienteBean bean = model.Obtem(IdCliente); //método obtem busca um cliente filtrando pelo id é esse método que faz a busca em si.
txtNome.setText(bean.getNome().trim()); //atribuindo o valor que busquei no banco de dados ao jTextField
}
Dentro do actionPerformed você apenas chama o método
public void BotaoActionPerformed(ActionEvent e){
ObtemCliente(Integer.parseInt(txtCodigo.getText.trim());
}
Melhorou? ^^
Belê. Vou testar. Valeu a força, brother.
Você ta usando algum padrão de projeto? Se sim, é só adaptar a idéia ao seu padrão.
Qualquer duvida posta ai tô na faculdade agora até umas 6:30 ^^ vou te ajudando no que eu souber.