Java - JFrame

6 respostas
jframeprogramaçãoswingjava
C
Ola a todos. Sou novo aqui no GUJ, e espero que possam me ajudar. Minha dúvida é a seguinte. Criei um programa que possui dois Frames, um Frame TelaTest01 com o botão OK que chama o segundo Frame TelaTest02 que possui o label Funcionou!. O que quero é que, ao clicar no botão OK, apareça um outro Frame que criei, o TelaTest02. Utilizei o comando abaixo para chamar o segundo frame:

TelaTest02 myFrame = new TelaTest02();

myFrame.setVisible(true);

E funcionou, porém ele abre outra janela, gostaria que ele sobre escrevesse o Frame TelaTest01.

Como faço isso?

Espero que tenham me entendido.
Grato pela atenção de todos.

6 Respostas

R

Olá, sobrescrever não rola. Vc pode fechar o TelaTest01 depois que abrir a outra.
Depois do myFrame.setVisible(true); adicione:
dispose();

J

É como o @Rodrigo_Void citou na resposta acima, para deixar o código um pouco menor você pode fazer diretamente desta maneira:

new TelaTest02().setVisible(true);
dispose();
C

Muito Obrigado @Rodrigo_Void
Seria basicamente a mesma coisa né, eu gostaria de fazer algo mais dinâmico, tipo mudanças de janela, com o método dispose(); eu perco as informações da TelaTest01 por ela fechar ?

sabe alguma apostila ou algo que eu possa me aprofundar para desenvolver um programa com interface gráfica de forma mais eficiente ?

Muito obrigado pela disponibilidade e atenção :slight_smile:

R

Cara, pra manter dados, vc pode passá-los por parâmetro para a nova tela, ou então teria que manter o mesmo frame e trocar todo conteúdo (gambiarra).
Sobre estudar isso, desenvolvimento desktop está caindo em desuso, principalmente o swing. Se quer seguir no desktop, todos recomendam JavaFX.

C

Parabéns cara, você manja muito, estou começando agora na linguagem Java, o JavaFX seria multimídia certo ? mas ainda consigo criar app para janela ?

se eu compilar no JavaFx consigo fazer rodar no meu celular ?

R

Não é bem por ai. A principal característica do FX não é ser multimídia. Ele é uma API de interface gráfica mais rica que o Swing, ou seja, substitui o Swing. E não, não consegue rodar no celular, só desenvolvendo pra mobile mesmo, como Android.

Criado 23 de maio de 2017
Ultima resposta 23 de mai. de 2017
Respostas 6
Participantes 3