Boa tarde, preciso de ajuda para a seguinte duvida.
Quando eu clico no JButton desejado eu preciso que abra outra tela com o JInternalFrame até ai okay, o programa abre o JInternalFrame porém a o JInternalFrame fica dentro do JButton como segue as imagens.


Estou usando o codigo abaixo para abrir o JInternalFrame.
private void jbcadastrarActionPerformed(java.awt.event.ActionEvent evt) {
Cadastro cad = new Cadastro ();
jbcadastrar.add(cad);
cad.setVisible(true);
Remova a seguinte linha:
jbcadastrar.add(cad);
Nessa linha você está adicionando a tela de cadastro dentro do botão jbcadastrar
Então eu mudei o JInternalFrame para JPanel, meu professor falou que ficaria melhor usar o JPanel.
Só que agora eu clico em CADASTRAR e a janela nem abre mais, já tentei da forma que me falou porém não abriu.
private void jbcadastrarActionPerformed(java.awt.event.ActionEvent evt) {
Cadastro cad = new Cadastro ();
cad.setVisible(true);
}
Se mudou para JPanel
, ele precisa ser adicionado em um container “pai”.
Sugiro utilizar uma estrutura parecida com essa:
JFrame da janela do sistema
|
+-> Painel com CardLayout onde serão inseridos os outros painéis
|
+-> Painel de uma tela
|
+-> Painel de outra tela
|
+-> Painel de mais outra tela