Comunicação entre janelas

9 respostas
rodpuc

Seguinte: tenho uma classe Draw que instancia e abre duas janelas definidas pelas classes Palco e Tools.

Na minha janela do Tools há um grupo de Radios com várias opções, e o meu Palco precisa saber qual opção está marcada. Lembrando que são janelas diferentes.

Como eu poderia fazer isso? :?:

Valeu

9 Respostas

lina

Oi,
Passe uma variavel da classe Tools por parametro na classe Palco,

com isso vai ter as informações necessarias, e assim verifique qual Radio esta selecionado.

Tchauzin!

peerless

complementando que a princ… Digo a minha amiga lina falou…

no parametro, tu podes usar o conceito " this "

rodpuc

putz mew, n entendi… como eu vou passar por parametro se tem uma classe chamando as duas, e não um chamando ao outro? Além disso acho q não vai funcionar de qualquer forma, pois oq vai acontecer qdo o usuário moduar a opção? Isso não vai ser passado novamente.

rodpuc

pooooor favorrrr soh falta isso pra meu trabalho ficar pronto!!! São noites sem dormir q serão inválidas se uma janela n informar a outra qual é a maldita opção escolhida pelo usuário!!!

1112

Adicione um listener aos seus "radio"s para que eles atualizem a sua classe Palco.

rodpuc

???
Isso foi brincadeira, n foi?

A minha dúvida é justamente COMO passar para o Palco. Eu n perguntei nd de listener.

1112

Ué, se você adicionar o Palco ou alguma classe que o conheça como Listener dos seus "radio"s, você poderá atualizar o Palco, ué. Dê uma olhada em http://java.sun.com/javase/6/docs/api/javax/swing/AbstractButton.html#addActionListener(java.awt.event.ActionListener)

rodpuc

putz meeeewwww e COMO, … COOOOMO eu

Entendeu agora??? a dúvida desde o começo é COMO eu faço essa passagem de parâmetros E NÃO COMO eu capturo a seleção do usuário.

ViniGodoy

Você terá que ter uma referência do Palco na classe Tools.

As classes gráficas são como classes qualquer…

Depois, no action listener da classe Tools faça:

seuPalco.setValor(valorDoRadio);

Note que a classe Tools terá que receber o palco de alguma forma, no construtor, ou sei lá onde…

Outra alternativa é fazer um método getValorDoRadio() na classe Tools. Depois, no código onde você chama Tools() (que deve ser na classe Palco) você faz:

Tools janelaTools = new Tools(); janelaTools.setVisible(true); this.setValor(janelaTools.getValorDoRadio);

Note que nesse caso, Tools deveria ser modal.

Criado 19 de março de 2007
Ultima resposta 23 de mar. de 2007
Respostas 9
Participantes 5