java 控制数字移动 键盘

来源:百度知道 编辑:UC知道 时间:2024/06/25 01:08:00
时间为什么无法响应

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

public class TestKeyListener extends Applet{
Color clr;
public void init(){
addKeyListener(
new KeyAdapter(){
public void keyTyped(KeyEvent e){
if(e.getKeyCode()==e.VK_UP)
{
clr=Color.red;
}
else if(e.getKeyCode()==e.VK_DOWN)
{
clr=Color.blue;
}
else if(e.getKeyCode()==e.VK_LEFT)
{
clr=Color.yellow;
}
else if(e.getKeyCode()==e.VK_RIGHT)
{
clr=Color.green;
}
setBackground(clr);
}

我不知道你说的是什么时间,你这个代码是无法实现你所达到的目的。因为对于 KEY_TYPED 事件,该 e.getKeyCode() 始终返回 VK_UNDEFINED。所以没有反应,请使用keyReleased()方法等。

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

public class TestKeyListener extends Applet{
Color clr;
public void init(){
addKeyListener(
new KeyAdapter(){

public void keyReleased(KeyEvent e){ //修改部分
if(e.getKeyCode()==e.VK_UP)
{
clr=Color.red;
}
else if(e.getKeyCode()==e.VK_DOWN)
{
clr=Color.blue;
}
else if(e.getKeyCode()==e.VK_LEFT)
{
clr=Color.yellow;
}
else if(e.getKeyCode()==e.VK_RIGHT)
{