Relações entre Classes

2 respostas
D

Olá, estou fazendo um projeto para Desktop e tenho a seguinte dúvida:

Tenho três classes: L, M e P.

Elas estão dentro de um frame e são instanciadas nessa ordem: M, L e P.

Logo, podemos ter a seguinte dependência: M, L(M), P(L(M),M).

Dessa forma, o usuário pode alterar as propriedades das classes:

1 - M através de L e P.
2 - L através de P.

Minha dúvida: Se algo acontecer dentro de M (pela interação do usuário) , como propagar essa informação para L e P ?

2 Respostas

yurifw

nao sei se entendi muito bem a pergunta, mas acho que a resposta é isso:

supondo que a classe P seja algo parecido com isso:

public class P {
        L l;
        M m;
         void P(M m , L l){
             this.m=m;
             this.l=l;
         }
         
         getL (){
             return l;
         }
             
}

vc poderia mudar o nome de l assim:

M m = new M();
L l = new L();
P p = new P(l,m);
        
//mudando a propriedade
p.getL().setNome("Novo nome");
D

Reformultando melhor, como o Botão b pode alterar a label l deste exemplo ?

public class M extends JPanel{

JButton b = new JButton(Botão 1);

String mudou = Não;

public P(){

b.addActionListener (new ActionListener(){

public void actionPerformed (ActionEvent ev){

mudou = Sim;

}

});

add(b);
}

}

public class P extends JPanel{

M m;

public P(M m){

this.m = m;

JLabel l = new JLabel(m.mudou);

add(l);

}

}
public class Executa extends JFrame{

public Executa(){

M m = new M();

add(M);

P p = new P(M);

add§;

}

public static void main(){

new Executa();

}

}
Criado 15 de março de 2013
Ultima resposta 15 de mar. de 2013
Respostas 2
Participantes 2