Classes para Telas e para Ações

2 respostas
A

Primeiramente peço licença aos feras aqui presente,

É minha primeira participação neste ótimo fórum, e minha dúvida é básica:

Estou construindo um pequeno programa que realiza a manutenção de cadastro.
Fiz a tela no netbeans onde tenho os campos e os botões incluir, excluir, consultar e sair.
Minha dúvida é se devo inserir as ações dos botões diretamente na classe de telas ou se devo criar classes separadas e instancia-las dentro do botão.

Se a opção correta for a segunda como faço isso, como uso a passagem de parâmetros nesse caso?

Obrigado,

Até mais

2 Respostas

ViniGodoy

Eu geralmente coloco as ações do botão na mesma classe das telas, ou em classes de Actions (que são criadas em inner classes, dentro da classe da tela).

As ações simplesmente invocam métodos dos objetos de negócio, que estão associadas as telas. Ou métodos da própria interface, para dar feedback ao usuário. Por exemplo:
btnDelete.add(new ActionListener() {
   public void actionPerformed(ActionEvent evt) {
      onDelete();
   }
}

public void onDelete() {
    int index = tabelaClientes.getSelectedIndex();
    Cliente cliente = modelClientes.getCliente(index);

    if (JOptionPane.showConfirmationDialog(this, 
        "<html>Tem certeza que quer excluir<br> " + cliente.getNome() + "<br>do sistema?", 
        JOptionPane.YES_NO_OPTION) 
        != JOptionPane.YES_OPTION) 
           return;
    try {
       cliente.delete();    
       modelClientes.remove(index);
   } catch (ImpossivelDeletarException e) {
       JOptionPane.showMessageDialog("<html>Não foi possível excluir o cliente.<br>" + e.getRazao());
   }
}
A

ok, entendi.

Obrigado.

Criado 31 de agosto de 2008
Ultima resposta 31 de ago. de 2008
Respostas 2
Participantes 2