处理键盘时间要实现KeyListener接口(为了简便,通常继承类KeyAdapter)的方法。如击键事件重写方法keyPressed,松开键keyReleased,敲字符keyTyped。
我们可以用KeyEvent.getKeyCode()来判断按下的是哪个键。KeyCode的定义在KeyEvent中的静态域(Field)里。
下面一个示例程序,按键盘上的上下左右箭头键控制实心圆的位置。
import
java.awt.
*
;
import
java.awt.event.
*
;
/** */
/**
* Moving the blue point in the window use four keys of arrow.
* @author nyzhl
*/

public
class
KeyEventTest
...
{
public static void main (String[] args) ...{
new MyFrame();
}
}

class
MyFrame
extends
Frame
...
{
//Position of the blue point.
int x = 190;
int y = 250;
public MyFrame() ...{
super("KeyEventTest");
setBounds(200,200,400,300);
//Key event handler.
addKeyListener(new KeyAdapter() ...{
public void keyPressed(KeyEvent e) ...{
switch (e.getKeyCode()) ...{
case KeyEvent.VK_RIGHT : ++x;
break;
case KeyEvent.VK_LEFT : --x;
break;
case KeyEvent.VK_UP : --y;
break;
case KeyEvent.VK_DOWN : ++y;
break;
}
repaint();
}
});
setVisible(true);
}
//paint the blue point.
public void paint (Graphics g) ...{
Color c = g.getColor();
g.setColor(Color.blue);
g.fillOval(x,y,20,20);
g.setColor(c);
}
}
键盘事件示例
本文介绍了一个简单的Java程序,演示如何使用键盘事件控制窗口中蓝色圆点的位置。通过监听上下左右箭头键,圆点可以在窗口内移动。
843

被折叠的 条评论
为什么被折叠?



