Boa tarde,
Estou com problemas em abrir uma só vez minhas JFrames e JInternalFrames.
Quando clico em um botão, ele abre corretamente a JFrame, porém, se eu clicar novamente no mesmo botão, ele abre uma nova tela, ao invés de chamar a mesma tela… Resolvo isso no Código ou Nas propriedades da Frame?
Alguém poderia me ajudar?
Desde já, obrigado!
É que você está criando uma nova instância ( new ConstrutorDaClasse() )
Se quer só uma instância, faz o new só uma vez e guarde a referência em uma variável de instância.
Olá staroski, estou errando aqui?
public void abreMenu() {
ScreenPrincipal menu = new ScreenPrincipal();
menu.setVisible(true);
dispose();
}
Sim, como pode ver você sempre cria um novo objeto do tipo ScreenPrincipal.
Troque a variável local por uma variável de instância e só instancie o ScreenPrincipal uma vez.
2 curtidas