Trabalhando com padãro MVC

10 respostas
cesarRasec

ola pessoa tudo blz?

estou trabalhando com o padrão MVC, e na minha aplicação tenho uma janela que naum possue botão de salvar…

os dados serão salvos quando o usuario fechar a janela. Registrar o evento de fechamento da janela é de boa…

o que não estou conseguindo é capturar este evento no medelo…e no controle…

alguem sabe como me ajudar??

obrigado…

10 Respostas

fantomas

Oi cesarRasec,

Pelo pouco que entendi do que vc explicou, na minha opinião, vc deveria executar um método do controler dentro do evento de fechar a janela.

Se for isto que vc está tentando fazer e não está conseguindo, diz para nós qual é o problema.

[]'s

cesarRasec

Ola fantomas,

o que não estou conseguindo é: capturar este evento no controle.

bom eu esta fasendo ao contrario do que vc me falou, eu estava tentando executar um metodo de fechar a jenela dentro do controle…

mas não consegui fazer pq não descobri um meio que o controle e o modelo recebessem uma “messagen” que a janela foi fechada…entende??

Do jeito que vc falou, este metodo ficaria na visão né??

mas como vou chamar um metodo do controler ou model la??

obrigado pela atenção… :smiley:

abraçoss…

fantomas

humm…curioso isso que vc tá falando de um jeito ou de outro deveria funcionar.

Tem como vc postar o trecho de código envolvido da view, model e controller pra gente ver?

flws

cesarRasec

ok vou tentar mostrar da melhor forma possível…
View:

public class TratadoraDeEventosc extends WindowAdapter {

@Override
public void windowClosing(WindowEvent e) {

  // Aqui deveria ser chamado o metodo do modelo que faz sua funções  correto???

     }

}

So que eu mudei um pouco minha estrutura aqui, estou fasendo a parte de modelo na view :frowning: ,

dentro dessa classe ai em cima, sei que não é correto, mas é apenas pra não perde tanto tempo assim…

meu modelo aqui tem varios metodos como: delete, insert etc…conexão com BD…e tal.

ele tb esta conectado com o DAO que esta ligado com as outras classes…mais isto naum vem ao caso…

algem me da alguma dica??

vlws mano!!!

cesarRasec

ou então da outra forma como eu havia dito: colocar essa classe TratadoraDeEventos

no modelo e as ações do modelo dentro dela…e depois juntamente com controller capturar o evento de fechar a jenela…

não sei qual seria o mais correto??

flws pessoal…grato!!!

cesarRasec

bom pessoal eu consegui resolver o meu problema e vou colocar a solução que eu encontrei aqui…

se alguem se enteressar…esta aqui…

este é o modelo…

/**
*

  • @author César de Siqueira
    */
    public class PedidoCotacaoControle extends DefaultDialogControle {
public PedidoCotacaoControle(DefaultDialogModelo modelo,

DefaultDialogVisao visao) {

super(modelo,visao);
((PedidoCotacaoView) super.visao).addWindowListener(new 
  TratadoraDeEventos());

}

class TratadoraDeEventos extends WindowAdapter {

@Override
public void windowClosing(WindowEvent e) {

  // Executa método de persistência (Salvar).
  ((PedidoCotacaoModel) modelo).salvar(visao);
}

}

e na víão eu registrei o evento com este comando…

new PedidoCotacaoControle(pcm,pcv);

aqui na víão eu estou chamando o medelo e o controle para trabalharen…

esta chamada esta dentro… new PedidoCotacaoControle(pcm,pcv);

esta dentro de um evento de um botão…

flw abraços…

ken420

amigo coloque seu codigo na tag code para melhor visualizarmos!

cesarRasec

ok amigo coloquei na teg code...qualquer duvida, pode dizer....flws

/**
 *
 * @author César de Siqueira
 */
public class PedidoCotacaoControle extends DefaultDialogControle {

  public PedidoCotacaoControle(DefaultDialogModelo modelo,
    DefaultDialogVisao visao) {
    super(modelo,visao);
    // Registra quando quando a visão sera fechada...
    ((PedidoCotacaoView) super.visao).addWindowListener(new
      TratadoraDeEventos());
  }

  class TratadoraDeEventos extends WindowAdapter {

    @Override
    // registra quando a janela e fechada...
    public void windowClosing(WindowEvent e) {
      // Executa método de persistência (Salvar).
      // Aqui eu chamo o medelo, botão SALVAR...
      ((PedidoCotacaoModel) modelo).salvar(visao);
    }
  }

}
pedromuyala

Um bom material sobre MVC pode ser encontrado aqui. :wink:

cesarRasec

vlw pelo link…

vo da uma olhada…

:smiley:

Criado 23 de julho de 2009
Ultima resposta 10 de ago. de 2009
Respostas 10
Participantes 4