ola pessoal!
Minha classe extende JFrame e possui um painel onde sao desehados quadrados continuamente e o frame atualizado com o repaint(). O frame possui tambem um menu. O problema eh que quando clico em um item do menu, o menu trava e apos isso, ele deixa de mostrar os quadrados sendo desenhados, nao responde com os comandos do teclado e nem consigo fechar o frame.
O que eu devo fazer para voltar a aparecer os quadrados sendo desenhados?
Fazendo um teste, eu mandei o jogo chamar o metodo de desenhar sem pecisar clicar no item do menu e ele desenhou sem problemas, mas se eu clicar em “play”, o ActionPerformed aciona o metodo iniciarJogo() e ele nao desenha nada nem responde aos comandos…
Percebi que quando o metodo iniciaJogo() eh executado, o isFocusOwner() retorna true.
public void actionPerformed(ActionEvent e) {
if (e.getSource() == playItem){
System.out.println(isFocusOwner()+"----"+desenha.isFocusOwner()+"---"+barra.isFocusOwner()+"---"+playItem.isFocusOwner()); //retorna false --- false ---false ---false
System.out.println("play");
playItem.setEnabled(false);
resetItem.setEnabled(true);
start = true;
requestFocus();
this.requestFocusInWindow();
iniciaJogo();
System.out.println(hasFocus()+"----"+desenha.isFocusOwner()+"---"+barra.isFocusOwner()+"---"+playItem.isFocusOwner()); //retorna false ---false ---false --false