您的位置:首页 > 编程语言 > Java开发

java之事件监听(二)键盘监听

2013-11-02 09:57 567 查看
package 第一版;
import java.awt.*;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;

import javax.management.monitor.MonitorMBean;
import javax.swing.*;
public class draw4 extends JFrame{
myPanel mp = null;
public static void main(String[] args) {
draw4 d = new draw4();
// TODO Auto-generated method stub

}
public draw4() {
mp = new myPanel();
// TODO Auto-generated constructor stub
this.add(mp);
this.addKeyListener(mp);// 对mp实行键盘监听
this.setSize(300, 300); // 设置框体大小
this.setLocation(400,150); //设置框体显示的位置
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 设置框体退出
this.setVisible(true); // 显示框体
}

}

class myPanel extends Panel implements KeyListener{
int x=10;
int y=10;
public void paint(Graphics g){//系统自动调用
super.paint(g);
g.fillOval(x, y, 30, 30);
}
//键被按下
@Override
public void keyPressed(KeyEvent e) { //系统会自动调用
// TODO Auto-generated method stub
System.out.println("键被按下"+(char)e.getKeyCode());
if(e.getKeyCode()==KeyEvent.VK_DOWN){
y++;
}
if(e.getKeyCode()==KeyEvent.VK_UP){
y--;
}
if(e.getKeyCode()==KeyEvent.VK_LEFT){
x--;
}
if(e.getKeyCode()==KeyEvent.VK_RIGHT){
x++;
}
this.repaint(); // 将图重新画
}
//键被释放
@Override
public void keyReleased(KeyEvent e) {
// TODO Auto-generated method stub
System.out.println("键被释放");
}
//键的值被输出
@Override
public void keyTyped(KeyEvent e) {
// TODO Auto-generated method stub
System.out.println("输出"+e);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: