keylistenerapplet.java
来自「java 中的键盘监听事件」· Java 代码 · 共 114 行
JAVA
114 行
/*
* KeyListenerApplet.java
*
* Created on 2007年5月4日, 上午9:12
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
package testApplet;
import java.applet.*;
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
/**
*
* @author INST
*/
public class KeyListenerApplet extends Applet implements KeyListener{
/** Initialization method that will be called after the applet is loaded
* into the browser.
*/
private Rectangle r;
private Color backColor;
public void init() {
// TODO start asynchronous download of heavy resources
r=new Rectangle(0,0,40,40);
backColor=Color.WHITE;
addKeyListener(this);
}
// TODO overwrite start(), stop() and destroy() methods
public void paint(Graphics g)
{
setBackground(backColor);
g.fillRect(r.x,r.y,r.width,r.height);
}
public void keyTyped(KeyEvent e) {
char keyChar=e.getKeyChar();
switch(keyChar)
{
case'r':
{
backColor=Color.RED;
repaint();
break;
}
case'g':
{
backColor=Color.GREEN;
repaint();
break;
}
case'b':
{
backColor=Color.BLUE;
repaint();
break;
}
case'w':
{
backColor=Color.WHITE;
repaint();
break;
}
}
}
public void keyPressed(KeyEvent e) {
int keyCode=e.getKeyCode();
if(keyCode==KeyEvent.VK_LEFT)
{
r.x-=5;
if(r.x<0)
r.x=0;
repaint();
}
else if(keyCode==KeyEvent.VK_RIGHT)
{
r.x+=5;
if(r.x>getSize().width-r.width)
r.x=getSize().width-r.width;
repaint();
}
else if(keyCode==KeyEvent.VK_UP)
{
r.y-=5;
if(r.y<0)
r.y=0;
repaint();
}
else if(keyCode==KeyEvent.VK_DOWN)
{
r.y+=5;
if(r.y>getSize().height-r.height)
r.y=getSize().height-r.height;
repaint();
}
}
public void keyReleased(KeyEvent e) {
char keyChar=e.getKeyChar();
if(keyChar=='e'||keyChar=='q')
System.exit(0);
}
// public static void main(String[] args)
// {
// KeyListenerApplet guiMemo=new KeyListenerApplet();
// guiMemo.setVisible(true);
// }
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?