void text_field_keyPressed(KeyEvent e) {
    switch (e.getKeyCode()) {
      case 0x41://a
        a_down = System.currentTimeMillis();
        System.out.println("A_DOWN" + a_down);
        break;
      case 0x42://b
        b_down = System.currentTimeMillis();
        System.out.println("B_DOWN" + b_down);
        System.out.println("B_DOWN--A_UP" + (b_down-a_up));
        break;
      case 0x43://c
        c_down = System.currentTimeMillis();
        System.out.println("C_DOWN" + c_down);
        System.out.println("C_DOWN--B_UP" + (c_down-b_up));
        break;
      case 0x44://d
        d_down = System.currentTimeMillis();
        System.out.println("D_DOWN" + d_down);
        System.out.println("D_DOWN--C_UP" + (d_down-c_up));
        break;
      case 0x45://e
        e_down = System.currentTimeMillis();
        System.out.println("E_DOWN" + e_down);
        System.out.println("E_DOWN--D_UP" + (e_down-d_up));
        break;
      default:
        break;    }  }  void text_field_keyReleased(KeyEvent e) {
    switch (e.getKeyCode()) {
      case 0x41: {
        a_up = System.currentTimeMillis();
        System.out.println("A_UP" + a_up);
        break;
      }
      case 0x42: {
        b_up = System.currentTimeMillis();
        System.out.println("B_UP" + b_up);
        break;
      }
      case 0x43: {
        c_up = System.currentTimeMillis();
        System.out.println("C_UP" + c_up);
        break;
      }
      case 0x44: {
        d_up = System.currentTimeMillis();
        System.out.println("D_UP" + d_up);
        break;
      }
      case 0x45: {
        e_up = System.currentTimeMillis();
        System.out.println("E_UP" + e_up);
        break;
      }
      default:
        break;
    }
  }

解决方案 »

  1.   

    /**
         * Invoked when a key has been pressed.
         * See the class description for {@link KeyEvent} for a definition of
         * a key pressed event.
         */
        public void keyPressed(KeyEvent e) {
            long now = System.currentTimeMillis();
            if(prev > 0) {
                list.add(new Long(now - prev));
            }
            prev = now;
        }    /**
         * Invoked when a key has been released.
         * See the class description for {@link KeyEvent} for a definition of
         * a key released event.
         */
        public void keyReleased(KeyEvent e) {
            long now = System.currentTimeMillis();
            if(prev > 0) {
                list.add(new Long(now - prev));
            }
            prev = now;
        }