Suporte ao desenvolvimento de jogos!


    [Java] Tratando dos eventos das teclas do usuário com java awt (Abstract Window Toolkit )

    Compartilhe
    avatar
    /_Lucas
    Novato
    Novato

    Mensagens : 14
    Créditos : 0

    [Java] Tratando dos eventos das teclas do usuário com java awt (Abstract Window Toolkit )

    Mensagem por /_Lucas em Seg Nov 05, 2018 4:08 pm

    Tipo: Tutorial
    Nível: Intermediário.
    Linguagem: java.
    Contato e mais informações: https://lucasindiesh1p.wordpress.com
    Mais tutorais sobre: https://lucasindiesh1p.wordpress.com/2018/11/05/173/
    Passo 0: importe o 
    Código:
    java.awt.event.*;
     para usarmos as implementações, no caso estamos usando a interface KeyListener e a classe KeyEvent do java.awt.event.
    Passo 1:Escolha e adapte se vai suar Applet, ou JApplet ou Frame ou Jframe.
    Nesse exemplo estamos usando JFrame para visualizar. Por isso será necessário importar, também, o 
    Código:
    javax.swing.*;

    codigo:

    Código:
    public class TeclaEvento implements KeyListener
    {
    public void keyPressed(KeyEvent k)
    {
    System.out.println(“Evento para a tecla apertada”);
    }
    public void keyRelease(KeyEvent k){
    System.out.println(“Evento para a tecla liberada”);
    }
    public void keyTyped(KeyEvent k){
    System.out.println(“Evento para a tecla digitada”);
    }
    public static void main(String[]args){
    JFrame jframe = new JFrame(“evento para tecla”);
    jframe.setSize(400, 400); //aqui foi configurado a altura e largura do jframe
    jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //aqui é configurado para
    //que o programa pare de ser processado ao fechâ-lo.
    //adicionando os componentes no jframe
    jframe.addKeyListener(new TeclaEvento());
    jframe.setVisible(true);
    }
    }


    Uma ideia legal para fazer para estudo é printar o código do sistema que corresponde a tecla que foi apertada e também printar qual tecla foi apertada.
    Para isso, é simples, basta colocar dentro do método do key pressed ou o que voce quiser verificar,
    os comandos:
    Código:
    System.out.println("Tecla que foi apertada foi "+k.getKeychar());
    //vai informal ao usuário qual tecla foi apertada.
    Código:
    System out.println("Código do sistema que corresponde a tecla apertada é "+k.getKeyCode());
    E em alguns casos que você tenha que pegar o código da tecla e transforma-la em texto, use: o get.KeyText
    assim:
    Código:
    System.out.println("Texto da tecla é "+ k.getKeyText(k.getKeyCode)); //converte o código da tecla apertada para sua correspondente em texto ou char.
    pois no java as classes normalmente tem getters e setters para manipulação de suas variaveis. No caso usamos um dos get da classe KeyEvent.
    fim.
    Referências:
    https://docs.oracle.com/javase/tutorial/uiswing/events/handling.html
    https://docs.oracle.com/javase/7/docs/api/java/awt/event/KeyListener.html
    https://docs.oracle.com/javase/tutorial/uiswing/components/frame.html
    https://docs.oracle.com/javase/7/docs/api/java/awt/event/KeyEvent.html

      Data/hora atual: Seg Nov 19, 2018 1:01 pm