/**
* 作者:@author ZhangShaoWen
* 日期:2013-12-05
* 功能:
*/
package com.test;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Demo1_3 extends JFrame{
//定义变量
Mypanel2 mp = null;
public static void main(String[] args) {
new Demo1_3();
}
//构造函数
public Demo1_3(){
mp = new Mypanel2();
this.add(mp);
this.addKeyListener(mp);//注册监听
this.setSize(300,400);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
}
class Mypanel2 extends JPanel implements KeyListener{
int x = 10;
int y = 10;
//重写paint方法
public void paint(Graphics g){
//必须调用父类的构造方法
super.paint(g);
g.setColor(Color.blue);
g.fillOval(x, y, 10, 10);
}
//键的一个值被输出
@Override
public void keyTyped(KeyEvent e) {
// TODO Auto-generated method stub
}
//按键的监听器
@Override
public void keyPressed(KeyEvent e) {
// TODO Auto-generated method stub
//System.out.println("键被按下"+e.getKeyChar());
if(e.getKeyCode()==KeyEvent.VK_DOWN){//点击向下的键
y++;
}else if(e.getKeyCode()==KeyEvent.VK_UP){//点击向上的键
y--;
}else if(e.getKeyCode()==KeyEvent.VK_LEFT){//点击向左的键
x--;
}else if(e.getKeyCode()==KeyEvent.VK_RIGHT){//点击向右的键
x++;
}
//调用repaint方法实现重画的功能
this.repaint();
}
//释放键的监听器
@Override
public void keyReleased(KeyEvent e) {
// TODO Auto-generated method stub
}
}
java 键盘监听
最新推荐文章于 2024-07-06 02:49:40 发布