Duvidas em interface e mvc

Estou fazendo um aplicativo e tentando deixar no padrao MVC. Ele tem basicamente 1 jframe e vários jinternalframes. Agora as dúvidas:

1 - Eu estou usando mais de uma classe de controle, está certo isso? Tipo uma classe de controle pra funcionario e uma classe de controle para produtos.

2- Minha classe Main extends JFrame e faz tudo ali, devo criar uma classe de controle pra separar a visão ? Ela não faz nenhuma operação, só tem os menus pra abrir as JInternalframes, ficaria meio confuso pois eu teria aa clase de visao da JFrame Main ligada a uma classe de controle que chamaria uma JInternalFrame que abriria outra classe de controle pra ai sim utilizar o modelo. Ficaria algo como visao - controle - visao - controle -modelo, meio estranho.

3- Como disse antes, eu tenho minha classe Main que extends JFrame (que ta fora do padrao MVC eu acho) e ai de acordo com a escolha no menu eu crio a classe de controle certa e a jinternalframe que eu preciso, assim:

jMenuItem1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent e) { TAlteraRemoveFuncionario tAlteraRemoveFuncionario = new TAlteraRemoveFuncionario(); FuncionarioDAO funcionarioDAO = new FuncionarioDAO(); ControleFuncionarios contrlFuncionario= new ControleFuncionarios(tAlteraRemoveFuncionario,funcionarioDAO); jDesktopPane.add(tAlteraRemoveFuncionario); try { tAlteraRemoveFuncionario.setSelected(true); } catch (PropertyVetoException e1) {} } }); Só que eu tenho um JinternalFrame de login, caso o login esteja correto algumas opções de menu são habilitadas. Qual é a melhor forma de fazer isso? mandar uma referencia de Main pra controladora e caso o login esteja correto habilitar os menus lá mesmo na classe de controle ??

Agradeço qualquer ajuda!

anyone ? :cry:

Eu aplicaria o MVC em uma aplicacao Swing da seguinte forma:

View:

public class JIFCadastroPessoa extends JInternalFrame{
 // Tela cheia de campos
 // com botoes pra alterar / salvar / excluir
 btnSave.addActionListener( new PessoaSaveAction() );
 //e assim para os outros botoes..
}

Controllers:

public class PessoaSaveAction implements  ActionListener{
 // checa os campos vazio e etc regra do save..
 // passou pelas checagens
 new PessoaModel().save( PessoaPOJO );
}
public class PessoaUpdateAction implements  ActionListener{
  // checa os campos vazio e etc regra do update..
 // passou pelas checagens
 new PessoaModel().update( PessoaPOJO );
}
public class PessoaDeleteAction implements  ActionListener{
  // checa os campos vazio e etc regra do delete..
  // passou pelas checagens
 new PessoaModel().delete( PessoaPOJO );
}
public class PessoaFindAction implements  ActionListener{
  // checa os campos vazio e etc regra do find..
  // passou pelas checagens
 new PessoaModel().find( PessoaPOJO );
}

Model:

public class PessoaModel{
 // aqui pode ter regras pra persistencia
 // aqui eh invocado o DAO pra persistir
 new PessoaDAO().save( PessoaPOJO );
}

DAO:

public class PessoaDAO{
 // Implementacao dos metodos
 // save / update / delete / find
 public void save(){
   //TODO - insert into pessoa (nome,idade) values (?,?);
 }
}

POJO:

public class PessoaPOJO{
  // get / set dos campos
  // nome e idade por ex.
}

Acho que essa estrutura é legal…
Valeu? Até… :thumbup:
[s]

Sobre o problema seu de controlar de qual maneira
o sistema deve se comportar pra cada usuario…

voce poderia dar uma olhada no Pattern, Front Controller.

:arrow: http://java.sun.com/blueprints/corej2eepatterns/Patterns/FrontController.html

Valeu? Até… :thumbup:
[s]

Duvidas sugestoes sao bem vindas! :smiley:

Você conseguiu alguma coisa ?
Estou com esse “problema” tbm…