Camada de Controle

Gostaria de que alguem me ajudasse, desce alguma dica de como implementar (não precisa ser com código) a camada de controle de uma aplicação feita em swing(é um exemplo bem básico). Tipo eu tenho minha classe que monta a interface com o usuário que seria o meu View [code]
import javax.swing.*;
public class Tela extends javax.swing.JFrame {
FBean fb = new FBean();
Insere insert;

public Tela() {
    
    initComponents();
           
}
private void initComponents() 
    jLabel1 = new javax.swing.JLabel();
    jLabel2 = new javax.swing.JLabel();
    jLabel3 = new javax.swing.JLabel();
    t_nome = new javax.swing.JTextField();
    t_end = new javax.swing.JTextField();
    t_tel = new javax.swing.JTextField();
    jButton1 = new javax.swing.JButton();
    jButton2 = new javax.swing.JButton();

    getContentPane().setLayout(null);

    addWindowListener(new java.awt.event.WindowAdapter() {
        public void windowClosing(java.awt.event.WindowEvent evt) {
            exitForm(evt);
        }
    });

    jLabel1.setText("Nome:");
    getContentPane().add(jLabel1);
    jLabel1.setBounds(20, 80, 41, 16);

    jLabel2.setText("Endereu00e7o:");
    getContentPane().add(jLabel2);
    jLabel2.setBounds(20, 100, 60, 16);

    jLabel3.setText("Telefone:");
    getContentPane().add(jLabel3);
    jLabel3.setBounds(20, 120, 60, 16);

    getContentPane().add(t_nome);
    t_nome.setBounds(80, 80, 170, 20);

    java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
    setSize(new java
    getContentPane().add(t_end);
    t_end.setBounds(80, 100, 170, 20);

    getContentPane().add(t_tel);
    t_tel.setBounds(80, 120, 170, 20);

    jButton1.setText("Inserir");
    jButton1.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButton1ActionPerformed(evt);
        }
    });

    getContentPane().add(jButton1);
    jButton1.setBounds(140, 170, 81, 26);

    jButton2.setText("Clear");
    getContentPane().add(jButton2);
    jButton2.setBounds(140, 210, 64, 26);

    pack();.awt.Dimension(400, 300));
    setLocation((screenSize.width-400)/2,(screenSize.height-300)/2);
}//GEN-END:initComponents

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
    insert = new Insere(getDados());
}
public FBean getDados(){
fb.setNome(t_nome.getText());
fb.setEndereco(t_end.getText());
fb.setTelefone(t_tel.getText());
return fb;
}    
private void exitForm(java.awt.event.WindowEvent evt) {
System.exit(0);
}
public static void main (String args[]){
  try{
    UIManager.setLookAndFeel("com.jgoodies.plaf.plastic.PlasticXPLookAndFeel");
    }catch(Exception e){}
    new Tela().show();
}

private javax.swing.JButton jButton2;
public javax.swing.JButton jButton1;
public javax.swing.JTextField t_tel;
public javax.swing.JTextField t_end;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel1;
public javax.swing.JTextField t_nome;  

}
[/code]
e tenho a minha lógica de aplícação que no caso seria a minha classe que faz a inserção dos dados no banco[code]
import java.sql.*;

public class Insere {
ResultSet rs;
Statement stmt;
FBean fb = new FBean();

public Insere(FBean fb){
try{
	Conexao conecta = new Conexao();
	stmt = conecta.con.createStatement();
	stmt.executeUpdate("INSERT INTO cadastro (" +
           "nome, telefone, endereco" + ") VALUES ('" +
            fb.getNome() + "', '" + 
            fb.getTelefone() + "', '" +
            fb.getEndereco() + "')");
	}
	catch (Exception e)
	{
		System.out.println(e.toString());
		System.exit(0);
	}
}

}[/code]

Agora que vem problema. Tipo, eu encapsulei os meus dados num objeto que eu criei [code] no caso o meu objeto está sendo criado nesse trecho de código

public FBean getDados(){
fb.setNome(t_nome.getText());
fb.setEndereco(t_end.getText());
fb.setTelefone(t_tel.getText());
return fb;[/code] 

só que acontece o seguinte, eu mando ele direto pra minha camada de lógica de aplicação, simplesmente eu não tenho idéia de como manipular esse objeto na camada de controle antes de manda-lo pra camada de modelo. Só uma coisa, eu omiti o código do bean que armazena meus dados pra evitar que o Post ficasse muito grande, e mesmo assim ficou. Desde já agradeço qualquer ajuda!!!

Luiz, explique melhor oq voce esta querendo implementar!
Assim posso tenta-lo ajudar.

[]´s

Vamos supor que meu programa vai dar permissão pra incluir um cadastro de cliente no meu banco de dados apenas pra alguns usuários do meu sistema e pra outros não. Eu gostaria de saber se é na camada de controle que eu teria que implementar essa lógica pra saber quem tem ou não permissão pra incluir algum cadastro no banco de dados, + ou - assim, eu crio meu objeto com os dados digitados pelo usuário, só que ao invés de mandar ele direto pra minha classe que faz a inclusão no banco(camada de modelo), eu pego meu objeto criado na classe que monta a tela do cadastro(camada de visualização), mando ele pra minha classe intermediária(camada de controle) e testo antes pra ver se o usuário tem direito ou não de fazer a inclusão no banco ai então eu mando pra minha classe de inclusão(camada de modelo). Queria que alguem me tirasse essa dúvida, se essa maneira que eu pensei seria a maneira correta de se implementar o padrão MVC.

Mais conteúdo sobre MVC recomendo acessar este link: http://www.guj.com.br/posts/list/129277.java
Vou adicionar este tópico como referência na lista de links sobre MVC que estão na primeira postagem do link que estou recomendando.
Cuidado: Não confunda MVC com CAMADAS (Layer’s). Uma coisa é MVC, outra coisa é Layer’s!
Espero ter colaborado! :wink:

Cara,

Eu vi uma vídeo aula de uma cara implementando uma calculadora (simples assim), onde ele separa 100% a view da regra de negócio…talvez possa te ajudar…
o link da pagina de vídeos e esse ai em baixo… so tem q da uma procurada no video… calculadora em swing com netbeans…alguma coisa assim…

http://spartaconsultoria.com.br/home/index.php/video-aulas

sucesso!