Chinaunix首页 | 论坛 | 博客
  • 博客访问: 178286
  • 博文数量: 89
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 828
  • 用 户 组: 普通用户
  • 注册时间: 2013-10-08 10:44
文章分类
文章存档

2014年(9)

2013年(80)

我的朋友

分类: Java

2013-12-05 17:39:00

  1. /** 
  2.  * 作者:@author ZhangShaoWen 
  3.  * 日期:2013-12-05 
  4.  * 功能: 
  5.  */  
  6. package com.test;  
  7.   
  8. import javax.swing.*;  
  9. import java.awt.*;  
  10. import java.awt.event.*;  
  11.   
  12. public class Demo1_3 extends JFrame{  
  13.   
  14.     //定义变量  
  15.     Mypanel2 mp = null;  
  16.       
  17.     public static void main(String[] args) {  
  18.         new Demo1_3();  
  19.     }  
  20.       
  21.     //构造函数  
  22.     public Demo1_3(){  
  23.           
  24.         mp = new Mypanel2();  
  25.           
  26.         this.add(mp);  
  27.         this.addKeyListener(mp);//注册监听  
  28.           
  29.         this.setSize(300,400);  
  30.         this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
  31.         this.setVisible(true);  
  32.     }  
  33. }  
  34.   
  35. class Mypanel2 extends JPanel implements KeyListener{  
  36.       
  37.     int x = 10;  
  38.     int y = 10;  
  39.       
  40.     //重写paint方法  
  41.     public void paint(Graphics g){  
  42.         //必须调用父类的构造方法  
  43.         super.paint(g);  
  44.         g.setColor(Color.blue);  
  45.         g.fillOval(x, y, 1010);  
  46.     }  
  47.   
  48.     //键的一个值被输出  
  49.     @Override  
  50.     public void keyTyped(KeyEvent e) {  
  51.         // TODO Auto-generated method stub  
  52.           
  53.     }  
  54.   
  55.     //按键的监听器  
  56.     @Override  
  57.     public void keyPressed(KeyEvent e) {  
  58.         // TODO Auto-generated method stub  
  59.         //System.out.println("键被按下"+e.getKeyChar());  
  60.         if(e.getKeyCode()==KeyEvent.VK_DOWN){//点击向下的键  
  61.             y++;  
  62.         }else if(e.getKeyCode()==KeyEvent.VK_UP){//点击向上的键  
  63.             y--;  
  64.         }else if(e.getKeyCode()==KeyEvent.VK_LEFT){//点击向左的键  
  65.             x--;  
  66.         }else if(e.getKeyCode()==KeyEvent.VK_RIGHT){//点击向右的键  
  67.             x++;  
  68.         }  
  69.           
  70.         //调用repaint方法实现重画的功能  
  71.         this.repaint();  
  72.     }  
  73.   
  74.     //释放键的监听器  
  75.     @Override  
  76.     public void keyReleased(KeyEvent e) {  
  77.         // TODO Auto-generated method stub  
  78.           
  79.     }  
  80. }  
阅读(440) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~