[RESOLVIDO] Abrir JFrames

3 respostas Resolvido
java
B

Boa tarde. Estou começando á programar em java e resolvi desenvolver um projeto onde, há uma tela (1° JFrame) de senha que, quando acessada com a senha correta, abre uma segunda tela (2° JFrame) que seria a página principal do projeto. Para abrir o segundo JFrame á partir da senha correta, usei:

JFrame MainMenu = new JFrame();

MainMenu.setVisible(true);

MainMenu.setSize(800, 500);

Porém quando a segunda tela abre, ela aparece em branco, sem qualquer recurso que coloco nela, sendo que quando simulo a visualização somente dessa tela, dentro da IDE, a tela aparece normalmente, com todos os recursos que inseri. Alguém sabe como resolver ?

obs. Estou usando Netbeans

Obrigado.

3 Respostas

R

Esse setSize é desnecessário, você tá usando qual layout?

Clica com o botão direito no JFrame

image

B

Estava configurado como Layout nulo, nos 2 JFrames, eu deveria trocar os 2 para Absoluto ou somente o segundo ? e este SetSize pode estar atrapalhando também ?

image

Aliás essa foi a programação que usei até agora

R
Solucao aceita

Não, o layout pode continuar. É que assim, o tamanho do seu JFrame já é “moldado” quando você arrasta o canto dele, exemplo:

image

Se o seu frame tem o tamanho de 1520x1240, na hora que você for abrir (se usar o setSize), ele vai abrir no tamanho passado, no seu caso: 800x500.

O nome do frame que vc quer chamar é JFrame mesmo? Se não for, vc precisa chamar pelo “nome” dele. Se for (eu não lembro se pode), troca o nome, pq tem uma classe chamada JFrame, e pode cagar seu projeto.

Exemplo, o nome do frame é FrameMenu:

FrameMenu menu = new FrameMenu();
menu.setVisible(true);
dispose(); //O dispose serve pra fechar a tela, no caso vai fechar a tela antiga que seria a e login.

Mas como vc não tá fazendo “nada” com a instanciação, vc pode resumir pra algo mais simples:

new FrameMenu().setVisible(true);
dispose();
Criado 27 de janeiro de 2019
Ultima resposta 28 de jan. de 2019
Respostas 3
Participantes 2