Você está aqui: Java ::: Pacote java.awt.event ::: KeyListener |
Entenda e aprenda a usar a interface KeyListener em suas aplicações JavaQuantidade de visualizações: 4640 vezes |
A interface pública KeyListener, no pacote java.awt.event, extende a interface EventListener e é usada quando precisamos receber e processar eventos do teclado. A classe interessada em processar os eventos do teclado pode fazê-lo de duas formas: a) Implementar a interface KeyListener e todos os seus métodos; b) Extender (extends) a classe abstrata KeyAdapter e sobrescrever somente os métodos que nos interessar. O objeto listener (ouvidor, receptor) criado a partir desta classe é então registrado com um componente usando o método addKeyListener() do componente. Um evento do teclado é gerado quando uma tecla é pressionada, liberada ou digitada (pressionar e liberar). O método relevante no objeto listener é chamado e um objeto da classe KeyEvent é passado a ele. A superinterface de KeyListener é EventListener e as classes que a implementam são AWTEventMulticaster, BasicComboBoxUI.KeyHandler, BasicComboPopup.InvocationKeyHandler, BasicTableUI.KeyHandler, BasicTreeUI.KeyHandler e KeyAdapter. Veja um exemplo de uma janela JFrame que detecta quando uma tecla é pressionada e reage com a exibição de uma mensagem: package estudos; import java.awt.Container; import java.awt.FlowLayout; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import javax.swing.JFrame; import javax.swing.JOptionPane; public class Janela extends JFrame implements KeyListener{ public Janela(){ super("Eventos do Teclado"); Container c = getContentPane(); FlowLayout layout = new FlowLayout(FlowLayout.LEFT); c.setLayout(layout); // vamos adicionar o objeto listener addKeyListener(this); setSize(350, 250); setVisible(true); } @Override public void keyPressed(KeyEvent e){ JOptionPane.showMessageDialog(null, "Uma tecla foi pressionada."); } @Override public void keyReleased(KeyEvent e){ // sem implementação } @Override public void keyTyped(KeyEvent e){ // sem implementação } public static void main(String args[]){ Janela j = new Janela(); j.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } Execute o exemplo, coloque o foco na janela JFrame e pressione qualquer tecla. Imediatamente a janela vai detectar o evento do teclado e exibirá uma mensagem JOptionPane. Veja que neste exemplo nós implementamos apenas o método keyPressed(), que detecta a "digitação" de uma tecla, ou seja, o pressionamento e liberação da tecla. |
![]() |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |