Hvordan oppdage et tastetrykk i Java

Hvordan oppdage et tastetrykk i Java


Selv om de fleste behov for å få brukerundersøkelser håndteres ganske lett i Swing via standardkomponenter - for eksempel å få teksten gjennom en JTextField komponent - noen ganger er det nødvendig å få nøyaktig tastetrykk fra brukeren. Kanskje en bestemt tastekombinasjon vil føre til en bestemt handling, eller kanskje du ønsker å hindre visse tastetrykk fra å ha standard effekt, for eksempel slik at bare bokstaver i en tekstboks. Uavhengig av scenariet, får nøkkelen brukeren trykket er enkel.

Bruksanvisning

1 Lag en enkel klasse som oppretter og viser en JFrame for nå:

import java.awt.Dimension;

import java.lang.reflect.InvocationTargetException;

import javax.swing.JFrame;

import javax.swing.SwingUtilities;

offentlig siste klasse KeyPressTester implementerer kjørbart {

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

SwingUtilities.invokeAndWait (ny KeyPressTester ());

}

@Overstyring

public void run () {

frame = new JFrame ( "tastetrykk Tester");

frame.setSize (ny dimensjon (800, 600));

frame.setVisible (true);

}

privat JFrame ramme;

}

2 Endre run () metode for å legge et KeyListener til rammen med følgende gjennomføring:

frame.addKeyListener(new KeyListener() {

@Overstyring

public void keyTyped (KeyEvent e) {

}

@Overstyring

public void keyReleased (KeyEvent e) {

}

@Overstyring

public void keyPressed (KeyEvent e) {

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

}

});

3 Kompilere og kjøre programmet. Hvis du trykker på en tast når rammen har fokus, bør du se konsollen utgang som beskriver den tasten du trykket, inkludert både selve teksten tegn (hvis tilgjengelig) og teksten av nøkkelen, for eksempel Shift, Ctrl, Backspace, etc.

Hint

  • Se gjennom andre metoder tilgjengelig på den medfølgende KeyEvent parameter. De kan brukes til å indikere at brukeren trykket på en spesialtast, for eksempel "Alt" eller "Ctrl", sammen med den angitte nøkkelen, og skille mellom, for eksempel, venstre og høyre shift-tastene. Også utforske de to andre hendelser som er tilgjengelige i KeyListener, keyTyped og keyReleased, som de felle litt forskjellige versjoner av viktige styre arrangementer og kan være mer aktuelt for ulike situasjoner.