galera por q quando pressiono as teclas , o key listener não reconhece a tecla?
// classe game
public Game() {
initFrame();
image = new BufferedImage(WIDTH, HEIGHT, BufferedImage.TYPE_INT_RGB);
gf = new GerenciadorFases();
}
public void initFrame() {
frame = new JFrame("MLS-GM");
frame.setPreferredSize(new Dimension(this.WIDTH * scale, this.HEIGHT * scale));
frame.add(this); // Adciono o canvas, e outros posiveis componentes a JF
this.setFocusable(false);
this.addKeyListener(gf); // Adiciona o KeyListener ao canvas
frame.setResizable(false);
frame.setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getResource("")));
frame.pack();
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
//classe gerenciador de fases
public class GerenciadorFases implements KeyListener{
public static final int quantFases = 2;
public static Fase[] fases = new Fase[quantFases];
public static int faseAtual = 0;
public GerenciadorFases() {
fases[0] = new Inicio();
}
public static void setFase(int fase) {
faseAtual = fase;
fases[faseAtual].init(); // Inicializa a fase
}
public static Fase getFase() {
return fases[faseAtual];
}
public void update() { // ou tick
fases[faseAtual].update();
}
public void render(Graphics g) {
fases[faseAtual].render(g);
}
@Override
public void keyTyped(KeyEvent e) {
}
@Override
public void keyPressed(KeyEvent e) {
fases[faseAtual].keyPressed(e.getKeyCode());
}
@Override
public void keyReleased(KeyEvent e) {
fases[faseAtual].keyRealessed(e.getKeyCode());
}
}
public class Inicio implements Fase {
Font fonte ;
@Override
public void init() {
//fonte = new Font("Dialog",Font.PLAIN,40);
}
@Override
public void update() { // ou tick
fonte = new Font("Dialog",Font.PLAIN,40);
}
@Override
public void keyPressed(int cod) {
// POR que nao aparece?????????????
System.out.println("Apertei: "+cod);
}
public interface Fase {
void init();
void update(); // ou update ou atualizar
void render(Graphics g);
void keyPressed(int cod);
void keyRealessed(int cod);
}