key.java

来自「Java 入门书的源码」· Java 代码 · 共 47 行

JAVA
47
字号
//Copyright (c) 1998, Arthur Gittleman
//This example is provided WITHOUT ANY WARRANTY either expressed or implied.

          
/*  Displays a key pressed ny the user.  Moves the
 *  character to the right if the user presses the right arrow
 *  key and to the left if the user presses the left arrow
 *  key.  Moves ten pixels if the user hold down the
 *  control key and two pixels otherwise.
 */

import java.awt.*;
import java.awt.event.*; 
import java.applet.Applet;

public class Key extends Applet 
                 implements KeyListener {
  public static int SLOW = 2;
  public static int FAST = 10;
  private int x=100, y=100;
  private char theKey = 'A'; 
  private Font f = new Font("Serif",Font.BOLD,36);
  private int deltaX = SLOW;

  public void init() {
    setFont(f);                  
    addKeyListener(this);
    requestFocus();
  }
  public void paint(Graphics g) {                                                                  
    g.drawString(String.valueOf(theKey),x,y); 
  }
  public void keyPressed(KeyEvent event){
    int code = event.getKeyCode(); 
    if (code == event.VK_CONTROL) {deltaX = FAST; repaint();}
    else 
      if (code == event.VK_RIGHT){x += deltaX; repaint();}
      else if (code == event.VK_LEFT){ x -= deltaX; repaint();}
  }
  public void keyReleased(KeyEvent event) {
    if (event.getKeyCode() == event.VK_CONTROL) deltaX = SLOW;
  }
  public void keyTyped(KeyEvent event) {
    theKey = event.getKeyChar();
    repaint(); 
  }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?