/**
* @author:George Lin
* @date 2013-5-7 9:42:33
*/
public class KeyboardDemo extends Frame implements KeyListener {
Button b[] = new Button[8];
int x, y;
public KeyboardDemo() {
setLayout(new FlowLayout());
for (int i = 0; i < 8; i++) {
b[i] = new Button("" + i);
b[i].addKeyListener(this);
add(b[i]);
}
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
setBounds(10, 10, 300, 300);
setVisible(true);
validate();
}
public void keyPressed(KeyEvent e){
Button button=(Button)e.getSource();
x=button.getBounds().x;
y=button.getBounds().y;
if(e.getKeyCode()==KeyEvent.VK_UP)
{
y-=2;
if(y<=0) y=0;
button.setLocation(x, y);
}else if(e.getKeyCode()==KeyEvent.VK_DOWN)
{
y+=2;
if(y>=300) y=300;
button.setLocation(x, y);
}
else if(e.getKeyCode()==KeyEvent.VK_LEFT)
{
x-=2;
if(x<=0) x=0;
button.setLocation(x, y);
}
else if(e.getKeyCode()==KeyEvent.VK_RIGHT)
{
x+=2;
if(x>=300) x=300;
button.setLocation(x, y);
}
}
public void keyTyped(KeyEvent e){}
public void keyReleased(KeyEvent e){}
public static void main(String[] args) {
KeyboardDemo demo=new KeyboardDemo();
}
}
评论