Fala galera, é o seguinte:
tenho um JFrame em que insiro um JPanel, que desenha uma matriz na tela, um JLabel, indicando o nome do usuário mexe nessa matriz, e um JButton que, quando clicado, remove todos os componentes da tela e desenha a matriz de outro usuário.
O problema é que quando clico no botão, ele nao apaga os componentes anteriores do JFrame e imprime uma matriz por cima da outra, um Label por cima de outro, etc.
Map é minha classe que extende JPanel para poder imprimir a matriz na tela através do paintComponent()
Segue o código:
Map mapa = new Map();
private JButton button = new JButton("Proximo");
private void player1Screen() {
mapa.draw(map1, screenX / 2 + 30, screenY / 10);
getContentPane().add(mapa);
mapa.setLayout(null);
JLabel text = new JLabel(name1);
mapa.add(text);
text.setBounds(screenX / 2 - 175, screenY - 200, 350, 40);
mapa.add(button);
button.setBounds(screenX / 2 - 150, screenY - 170, 200, 30);
button.addActionListener(this);
}
private void player2Screen(){
getContentPane().removeAll();
mapa.draw(map2, screenX / 2 + 30, screenY / 10);
getContentPane().add(mapa);
mapa.setLayout(null);
button = new JButton("Proximo");
JLabel text = new JLabel(name2);
mapa.add(text);
text.setBounds(screenX / 2 - 175, screenY - 200, 350, 40);
mapa.add(button);
button.setBounds(screenX / 2 - 150, screenY - 170, 200, 30);
button.addActionListener(this);
getContentPane().validate();
getContentPane().repaint();
}