Selv om de fleste behov for å få brukerundersøkelser håndteres ganske lett i Swing via standard komponenter - for eksempel å få tekst gjennom en JTextField komponent - noen ganger er det nødvendig å få de eksakte tastetrykk fra brukeren. Kanskje en bestemt nøkkel kombinasjonen vil føre til en bestemt handling , eller kanskje du ønsker å hindre at visse tastetrykk fra å ha sin standard effekt, for eksempel slik at bare bokstaver i en tekstboks . Uavhengig av scenario , får nøkkelen brukeren trykket er enkel. Du trenger
Java SDK
Integrated Development Environment , slik som Eclipse eller NetBeans , anbefalt, men ikke påkrevd
Vis flere instruksjoner
en
Lag en enkel klasse som oppretter og viser et JFrame for nå : en
import java.awt.Dimension ;
import java.lang.reflect.InvocationTargetException ;
import javax.swing.JFrame ;
import javax.swing.SwingUtilities ,
public final class KeyPressTester implementerer kjørbart {
public static void main (String [] args ) throws InterruptedException , InvocationTargetException {
SwingUtilities.invokeAndWait ( ny KeyPressTester ( ));
}
@ Override
public void run () {
ramme = new JFrame ( " KeyPress Tester" ) ;
frame.setSize (new Dimension ( 800 , 600 ));
frame.setVisible ( true);
}
< p> Privat JFrame ramme ;
}
2
Endre run ( )-metoden for å legge til en KeyListener til rammen med følgende implementering : en
frame.addKeyListener ( ny KeyListener ( ) {
@ Override
public void keyTyped ( KeyEvent e ) {
}
@ Override
offentlig ugyldiggjøre keyReleased ( KeyEvent e ) {
}
@ Override
public void keyPressed ( KeyEvent e ) {
System.out.println ( " Key personlighet: "+ e.getKeyChar ( ) + "; Key Code : "+ KeyEvent.getKeyText ( e.getKeyCode ( ) ));
}
});
3
Utarbeide og gjennomføre programmet. Hvis du trykker på en tast når rammen har fokus, bør du se konsollen utgang som beskriver du trykket , inkludert både selve teksten tegnet ( hvis tilgjengelig ) og teksten av nøkkelen , slik som Shift , Ctrl , Backspace , etc.