Ajuda com KeyListener

1 resposta
davi1993

galera
estou fazendo aqui um jogo com java2d e tals… e cheguei na parte das ‘actions’
o problema: criei uma classe pra tratar os KeyEvents… mas ta dando erro… fala que nao sobreescrevi o method keyReleased =\ (que por sinal, já fiz, como no codigo abaixo)

se puderem me dar uma ajuda =p

package jsnake;
import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;
/**
 *
 * @author dAVi
 */
public class KeyEvent extends GUI implements KeyListener{

    public void keyTyped(KeyEvent e) {
       // throw new UnsupportedOperationException("Not supported yet.");
    }

    public void keyPressed(KeyEvent e) {
        //throw new UnsupportedOperationException("Not supported yet.");
    }

    public void keyReleased(KeyEvent e) {
       // throw new UnsupportedOperationException("Not supported yet.");
    }
}

1 Resposta

Eric_Yuzo

Sua classe também se chama “KeyEvent”. O compilador está esperando como parâmetro um objeto “java.awt.event.KeyEvent”, porém está recebendo um “jsnake.KeyEvent” (que é sua classe). Por isso que o compilador não enxerga a sobrescrita, ele pensa que é uma sobrecarga, pois os tipos de parâmetros são diferentes.

Você pode especificar o nome completo da classe no parâmetro:

@Override public void keyReleased(java.awt.event.KeyEvent e) { . . .
Ou melhor ainda seria usar um nome na sua classe que não cause estas confusões.

Criado 4 de março de 2011
Ultima resposta 4 de mar. de 2011
Respostas 1
Participantes 2