Olá eu quero fazer fechar somente uma JFrame do meu jogo , ou seja, não quero usar o System.exit(0), então por favor me ajudem com os códigos .
Coloquei um botão de Sair para configurar:
btnSair = new JButton("Sair");
btnSair.setForeground(Color.BLUE);
btnSair.setFont(new Font("Tahoma", Font.PLAIN, 30));
btnSair.setBackground(Color.ORANGE);
btnSair.setBounds(1185, 11, 177, 59);
frmDivisão.getContentPane().add(btnSair);
btnSair.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
int Sair = JOptionPane.showConfirmDialog(null, "Tem certeza que quer sair do jogo ?");
if(Sair==JOptionPane.YES_OPTION) {
System.exit(0);
}
if(Sair==JOptionPane.NO_OPTION) {
gerarValores();
}
}
});
A região em amarelo é o escopo da classe anônima que implementa ActionListener, o this faz você referenciar explicitamente ela, mas ela não possui nenhum método dispose(), quem tem é a classe mais externa cujo escopo está evidenciado em rosa.
Então tira fora o this ou chama explicitamente SuaClasseExterna.this.dispose().