📄 keyeventsdemo.java
字号:
/*
* $Header$
* $Date$
* $Revision$
* Copyright (C) 2003-2004 CIC, Tsinghua Univ.
*/
package jcase.gui;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
/**
* KeyEventsDemo
*/
public class KeyEventsDemo extends BaseDemo implements KeyListener{
String msg;
int x,y;
/**
* @see jcase.gui.BaseDemo#init()
*/
protected void init() {
x=20;
y=20;
msg="You input: ";
addKeyListener(this);
requestFocus(); // request input focus
}
/**
* @see jcase.gui.BaseDemo#getTitle()
*/
public String getTitle() {
return "键盘事件处理示例";
}
public void paint(Graphics g) {
g.drawString(msg,x,y);
}
/**
* @see java.awt.event.KeyListener#keyTyped(java.awt.event.KeyEvent)
*/
public void keyTyped(KeyEvent e) {
msg+=e.getKeyChar();
repaint();
}
/**
* @see java.awt.event.KeyListener#keyPressed(java.awt.event.KeyEvent)
*/
public void keyPressed(KeyEvent e) {
int key = e.getKeyCode();
switch (key) {
case KeyEvent.VK_F1:
msg += "<F1>";
break;
case KeyEvent.VK_F2:
msg += "<F2>";
break;
case KeyEvent.VK_F3:
msg += "<F3>";
break;
case KeyEvent.VK_PAGE_DOWN:
msg += "<PgDn>";
break;
case KeyEvent.VK_PAGE_UP:
msg += "<PgUp>";
break;
case KeyEvent.VK_LEFT:
msg += "<Left Arrow>";
break;
case KeyEvent.VK_RIGHT:
msg += "<Right Arrow>";
break;
case KeyEvent.VK_BACK_SPACE: //如果是退格键,清空缓冲区内容
msg ="You input: ";
break;
}
repaint();
}
/**
* @see java.awt.event.KeyListener#keyReleased(java.awt.event.KeyEvent)
*/
public void keyReleased(KeyEvent e) {
// TODO something else
System.out.println(e);
}
public Dimension getPreferredSize() {
return new Dimension(400,100);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -