Existem vários tipos de listeners que servem para receber e interpretar o input realizado com o periférico para qual o dado listener fora criado, e a partir deste realizar uma reação.
Neste caso iremos criar um para o rato e teclado.
// Syntax
elemento.addKeyListener(new KeyListener(){
public void keyPressed(KeyEvent e) {
(...)
}
public void keyReleased(KeyEvent e) {
(...)
}
public void keyTyped(KeyEvent e) {
(...)
}
});
O "elemento" referido na syntax refere-se ao objeto alvo do dado Listener.
elemento.addKeyListener(new KeyListener(){
public void keyPressed(KeyEvent e) {
(...)
}
public void keyReleased(KeyEvent e) {
(...)
}
public void keyTyped(KeyEvent e) {
(...)
}
});
O "elemento" referido na syntax refere-se ao objeto alvo do dado Listener.
// Aplicar o KeyListener
// Exemplos de Aplicação
// em TextAreas
JTextArea area = new JTextAre();
area.addKeyListener(new KeyListener(){(...)});
// em JFrames
JFrame frame = new JFrame();
frame.addKeyListener(new KeyListener(){(...)});
// Aplicar em sub-classes (ex. JFrame(superclasse));
public class MinhaClasse extends JFrame {
public static void main(String[] args){
addKeyListener(new KeyListener(){...});
}
}
// Aplicar-lhe um Comportamento / Reacção ( Behavior )
// Exemplos de Aplicação
// em TextAreas
JTextArea area = new JTextAre();
area.addKeyListener(new KeyListener(){(...)});
// em JFrames
JFrame frame = new JFrame();
frame.addKeyListener(new KeyListener(){(...)});
// Aplicar em sub-classes (ex. JFrame(superclasse));
public class MinhaClasse extends JFrame {
public static void main(String[] args){
addKeyListener(new KeyListener(){...});
}
}
// Aplicar-lhe um Comportamento / Reacção ( Behavior )
A reacção ao input vai depender de várias derivadas, as quais podemos ser nós a criar e editar, conforme aquilo que pretendemos.
keyPressed : Quando a tecla for carregada.
keyReleased : Quando a tecla for largada.
keyTyped : Quando um unicode char é enviado a partir do teclado. De um modo geral, o keyTyped é utilizado quando é introduzido um char que possa ser representado como 'a' e 'A' ( tabela de exemplo ).
// Identificar a Tecla Introduzida
e.getKeyCode() » Obter o código da tecla introduzida (int) .
if( e.getKeyCode() == 10) { (...) } » Se a keyCode da tecla introduzida for 10 ...
// Aplicação
// CODE
frame.addKeyListener(new KeyListener() {
public void keyPressed(KeyEvent e) {
int keyCode = e.getKeyCode();
// O valor de e.getKeyCode() é armazenado na variável keyCode.
System.out.println(keyCode);
// Output do keyCode respetivamente à tecla introduzida.
if(keyCode == 10 ) {
// Se tecla introduzida (keyCode) é o ENTER (10).
System.out.println(" A tecla ENTER foi introduzida, obrigado. ");
// Realizar o output anterior
}
...
}
public void keyReleased(KeyEvent e) {
// Code
}
public void keyTyped(KeyEvent e) {
// Code
}
});
O dado listener será aplicado ao objeto frame.
Fundo Azul: Será executado na introdução de qualquer tecla.
Fundo Verde: Será executado conforme a condição establecida, neste caso, só se for introduzida a tecla enter.
// END
// Bibliotecas Importadas
import javax.swing.JFrame;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
// Links
// Bibliotecas Importadas
import javax.swing.JFrame;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
// Links
Sem comentários:
Enviar um comentário