Name: dbT83986			Date: 01/05/99
Type in alphabets in the text box
No keyTyped events generated for alphabets
keyTyped events being generated for backspace key though.
Tested on NT
import javax.swing.*;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.*;
public class KeyEventDemo extends JApplet 
                          implements KeyListener,
				     ActionListener {
    JTextArea displayArea;
    JTextField typingArea;
    String newline;
    public void init() {
	JButton button = new JButton("Clear");
	button.addActionListener(this);
	typingArea = new JTextField(20);
	typingArea.addKeyListener(this);
	displayArea = new JTextArea();
	displayArea.setEditable(false);
	JScrollPane scrollPane = new JScrollPane(displayArea);
	scrollPane.setPreferredSize(new Dimension(375, 125));
	JPanel contentPane = new JPanel();
	contentPane.setLayout(new BorderLayout());
	contentPane.add(typingArea, BorderLayout.NORTH);
	contentPane.add(scrollPane, BorderLayout.CENTER);
	contentPane.add(button, BorderLayout.SOUTH);
	setContentPane(contentPane);
	newline = System.getProperty("line.separator");
    }
    /** Handle the key typed event from the text field. */
    public void keyTyped(KeyEvent e) {
	displayInfo(e, "KEY TYPED: ");
    }
    /** Handle the key pressed event from the text field. */
    public void keyPressed(KeyEvent e) {
	displayInfo(e, "KEY PRESSED: ");
    }
    /** Handle the key released event from the text field. */
    public void keyReleased(KeyEvent e) {
	displayInfo(e, "KEY RELEASED: ");
    }
    /** Handle the button click. */
    public void actionPerformed(ActionEvent e) {
	//Clear the text components.
	displayArea.setText("");
	typingArea.setText("");
	//Return the focus to the typing area.
	typingArea.requestFocus();
    }
    /*
     * We have to jump through some hoops to avoid
     * trying to print non-printing characters 
     * such as Shift.  (Not only do they not print, 
     * but if you put them in a String, the characters
     * afterward won't show up in the text area.)
     */
    protected void displayInfo(KeyEvent e, String s){
	String charString, keyCodeString, modString, tmpString;
	char c = e.getKeyChar();
	int keyCode = e.getKeyCode();
	int modifiers = e.getModifiers();
	if (Character.isISOControl(c)) {
	    charString = "key character = (an unprintable control character)";
	} else {
	    charString = "key character = '" + c + "'";
	}
	keyCodeString = "key code = " + keyCode
			+ " ("
			+ KeyEvent.getKeyText(keyCode)
			+ ")";
	modString = "modifiers = " + modifiers;
	tmpString = KeyEvent.getKeyModifiersText(modifiers);
	if (tmpString.length() > 0) {
	    modString += " (" + tmpString + ")";
	} else {
	    modString += " (no modifiers)";
	}
	displayArea.append(s
                           + newline + "    "
	                   + charString 
	                   + newline + "    "
		           + keyCodeString
	                   + newline + "    "
		           + modString
		           + newline);
    }
}
(Review ID: 48902)
======================================================================