// Fig. 10.24: Key.java // Demonstrating keystroke events. import java.applet.Applet; import java.awt.*; import java.awt.event.*; public class Key extends Applet implements KeyListener { private String line1 = ""; private String line2 = ""; private String line3 = ""; public void init() { // allow applet to process Key events addKeyListener( this ); // make applet the active component for key events requestFocus(); } public void paint( Graphics g ) { g.drawString( line1, 25, 25 ); g.drawString( line2, 25, 40 ); g.drawString( line3, 25, 55 ); } public void keyPressed( KeyEvent e ) { line1 = "Key pressed: " + e.getKeyText( e.getKeyCode() ); setLines2and3( e ); } public void keyReleased( KeyEvent e ) { line1 = "Key released: " + e.getKeyText( e.getKeyCode() ); setLines2and3( e ); } public void keyTyped( KeyEvent e ) { line1 = "Key typed: " + e.getKeyChar(); setLines2and3( e ); } private void setLines2and3( KeyEvent e ) { line2 = "This key is " + ( e.isActionKey() ? "" : "not " ) + "an action key"; String temp = e.getKeyModifiersText( e.getModifiers() ); line3 = "Modifier keys pressed: " + ( temp.equals( "" ) ? "none" : temp ); repaint(); } }