Re:Problemas c/ relacionamento de objetos

2 respostas
T

ola!
o mais facil eh usar as classes java.util.Observer e (interface) java.util.Observable
como o “observavel” eh uma JPanel, mantenha um Observer como um campo da sua classe e exponha um metodo para adicionar Observers.
Quando o evento for disparado, chame o metodo notifyObservers ( ou algo do tipo )

No lado do Observer, no metodo update, coloque as coisas que vc quer que sejam executadas.

eh basicamente isso (ok nao esta muito mastigado, mas acredito que vc consiga se virar a partir dai)

2 Respostas

J

LuizRocha:
Saudações.

Eu tenho duas classes cujos objetos têm relação de contenção (é esse, o nome? Sei que um objeto (B) é declarado na classe do outro (A)).

Tudo bom?

Olha eu acho que o verdadeiro nome para o que voce chamou de contenção é composição.

Uma maneira simples de voce fazer isso e passar uma referencia do objeto A para o construtor do objeto B e quando a ação tem de ocorrer no objeto B acontecer , voce chama algum método e A unsando a referência passada no construtor.

Acho que este seria uma boa solução!

Boa sorte!

Luiz_Rocha

Saudações.

Eu tenho duas classes cujos objetos têm relação de contenção (é esse, o nome? Sei que um objeto (B) é declarado na classe do outro (A)). E eu preciso fazer com que o objeto A “saiba” quando determinado evento ocorrer no B.

Na prática, o objeto B é uma janela que precisa retornar um valor (um array de inteiros) para A quando um botão (botão esse que dispara o setVisible(false) na janela do B) é presionado.

Tudo o que eu consegui foi retornar o array no momento em que a janela B é aberta, e isso não é o desejado.

Provavelmente a minha solução está no uso de eventos, mas eu tentei uma “gambiarra” - típico de quem não tem tanto “knowledge” - e não deu certo…

“E agora, doutor?” O meu caso tem solução?
Peço às almas encarecidas e aos Mestres Anciãos do JAVA (ou a qualquer um!) que me ajude. Qualquer trocadinho vale.

Agradecidamente,

                                                                             Luiz rocha
Criado 7 de julho de 2006
Ultima resposta 7 de jul. de 2006
Respostas 2
Participantes 3