Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-4200735

For characters typed (e.g. ABCDE....) no keyTyped event is generated

XMLWordPrintable

    • generic, x86
    • generic, windows_nt



      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)
      ======================================================================

            tprinzing Tim Prinzing
            dblairsunw Dave Blair (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: