Como passar valores entre dois JFrames

Peço desculpa por pisar assuntos, e até porque já consegui fazer isto em tempos passados, mas não me lembro agora.

A questão é simples, passar um ou mais valores de um JFrames, para outro.

Como fiz:
O primeiro JFrames chama-se Primeiro, o segundo JFrames chama-se Segundo

Primeiro JFrames:
tem uma caixa de texto e um botão, o botão faz o seguinte:

Segundo sg=new Segundo();

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

String[] args = null;

sg.main(args);

sg.receber(jTextField1.getText());

setVisible(false);

}

Segundo Jform:
Tem uma label e uma caixa de texto:

#public void receber(String cenas){

textBox1.setText(cenas);

label1.setText(“teste”);

}

O segundo JFrame abre, mas tanto a caixa como a label ficam com o texto delas inalterado, não havendo nem passagem da String do primeiro Jframe, nem passando a label para “teste”.

Agradeço ajudas :wink:

ninguem sabe mesmo?

Como ninguem em 50 views responde, decidi explanar mais o caso de maneira a motivar mais a malta…

Tou a acabar de fazer um Pong Online, para quatro jogadores, em java RMI, estava a tentar optimizar o RMI visto o projecto ainda ter alguns pequenos problemas, pelo que esta ajuda que eu queria era de maneira a facilitar a publicação do IP e Porto do servidor do jogo, para que os jogadores em casa tivessem o caso mais facilitado…

O problema que eu proponho é bastante simples, é so arranjarem maneira de eu ter um Jframe, carregar num botão abrindo outro Jframe (já existente no projecto), mas em que este segundo tenha dados como Strings e ints, ofertados pelo primeiro Jframe.

Mando em Attachment uma imagem do pong visto por um dos jogadores.

Obrigado malta


cara so não intedi o seguinte…

Segundo sg=new Segundo(); private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { String[] args = null; sg.main(args);// <----- sg.receber(jTextField1.getText()); setVisible(false); }

essa parte ai que ta com a seta, não sei se intendi direito, mas parece que tu ta com metodos main , em ambos os frames, é isso (pra que isso?) ?! oque teria dentro do metodo main do teu segundo frame? uma instancia para a classe segundo frame? e exibindo ele?

dentro do construtor Segundo ou de algum metodo dentro dele, é chamado em algum momento o setVisible(true) ?
porque oque pode ta acontencendo… é que tu ta iniciando o segundo frame atraves do main com o metodo sg.main(args)
Invez de estar sendo chamado pelo trecho:
Segundo sg=new Segundo();

ou seja sem o codigo completo meu raciocinio é que tu ta com 2 objetos Segundo Frame, exibindo o errado na tela, bom sem o codigo completo posso ta viajando mas… substitui o codigo por esse aqui:

Segundo sg=new Segundo();
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
//String[] args = null;
//sg.main(args);
sg.receber(jTextField1.getText());
setVisible(false);
sg.setVisible(true);

Ok foi isso que ele tinha de mal… retirei-lhe a chamada ao main e ficou a fazer o que devia :slight_smile:

é o que dá mexer em código feito, não se topam os erros dos gajos anteriores a nós.

Obrigado willyKocher :wink: