Alternando entre JPanels
Estou tentando fazer um jogo. Há várias telas diferentes no jogo, como o menu principal e a tela real do jogo. Cada um desses é uma extensão jpanel separada. Eu adicionei cada um deles ao meu JFrame, que é uma classe chamada Game. Na minha aula de jogo eu tenho os seguintes métodos
public void addPanel( JPanel p ) {
panels.add( p ); // An array of all the different panels I need
this.getContentPane().add( p );
}
public void switchToPanel( JPanel p ) {
for ( JPanel somePanel : panels ) {
somePanel.setVisible( false );
}
p.setVisible( true );
repaint();
}
O ponto é que eu tenho muitos painéis diferentes e quando eu preciso mostrar um em particular, como uma tela de menu, eu chamo switchToPanel (myPanel). Basicamente apenas escondendo cada painel e, em seguida, mostrando o que eu preciso ver. O único problema é que esses painéis não estão aparecendo quando eu alterno para eles. O único que vai aparecer é o painel que eu adicionei por último. Em Objective C eu uso essa técnica para alternar entre as visualizações o tempo todo e nunca tive problemas. Esse tipo de coisa não é permitido em java?
Edit: agora eu estou chamando repaint () depois de mudar, mas ainda não está funcionando