Come rilevare pressione di un tasto in Java

December 24

Come rilevare pressione di un tasto in Java


Sebbene la maggior parte ha bisogno di ottenere l'input dell'utente sono gestite facilmente in Swing tramite componenti standard - per esempio, ottenere testo attraverso un componente JTextField - a volte è necessario per ottenere le pressioni dei tasti precise da parte dell'utente. Forse una combinazione di tasti specifica causerà una certa azione, o forse si vuole evitare che alcuni colpi di chiave da avere il loro effetto di default, come ad esempio consentendo solo caratteri alfabetici in una casella di testo. Indipendentemente scenario, ottenendo il tasto premuto dall'utente è semplice.

istruzione

1 Creare una semplice classe che crea e visualizza un JFrame per ora:

import java.awt.Dimension;

import java.lang.reflect.InvocationTargetException;

import javax.swing.JFrame;

javax.swing.SwingUtilities importazione;

pubblico KeyPressTester final class implementa Runnable {

public static void main(String[] args) throws InterruptedException, InvocationTargetException {

SwingUtilities.invokeAndWait (nuova KeyPressTester ());

}

@Override

public void run () {

frame = new JFrame ( "KeyPress Tester");

frame.setSize (nuova dimensione (800, 600));

frame.setVisible (true);

}

cornice JFrame privato;

}

2 Modificare il metodo run () per aggiungere un KeyListener al telaio con la seguente implementazione:

frame.addKeyListener(new KeyListener() {

@Override

public void keyTyped (KeyEvent e) {

}

@Override

public void keyReleased (KeyEvent e) {

}

@Override

public void keyPressed (KeyEvent e) {

System.out.println ( "Character chiave:" + e.getKeyChar () + "; Codice chiave:" + KeyEvent.getKeyText (e.getKeyCode ()));

}

});

3 Compilare ed eseguire il programma. Se si preme un tasto quando il telaio è a fuoco, si dovrebbe vedere l'uscita della console che descrive il tasto premuto, che comprende sia il carattere del testo vero e proprio (se disponibile) e il testo della chiave, come ad esempio Shift, Ctrl, Backspace, etc.

Consigli e avvertenze

  • Rivedere gli altri metodi disponibili sul parametro KeyEvent in dotazione. Possono essere utilizzati per indicare che l'utente ha premuto un tasto modificatore, ad esempio "Alt" o "Ctrl", insieme con la chiave specificata, e distinguere tra, per esempio, i tasti shift sinistro e destro. esplorare anche gli altri due eventi disponibili nel KeyListener, keyTyped e keyReleased, in quanto trappola versioni leggermente diverse di eventi tastiera e potrebbe essere più applicabile a diverse situazioni.