[Java] 键盘事件监听简单例子 →→→→→进入此内容的聊天室

来自 , 2020-01-06, 写在 Java, 查看 100 次.
URL http://www.code666.cn/view/411ae1bf
  1. /**
  2.  * 功能:键盘事件监听简单例子
  3.  * 1.在面板上画一个小球,让它能通过键盘上下左右的动
  4.  */
  5. package com.zjr;
  6. import java.awt.*;
  7.  
  8. import javax.swing.*;
  9.  
  10. import java.awt.event.*;
  11.  
  12. public class Test1 extends JFrame{
  13.  
  14.         MyPanel mp=null;
  15.         public static void main(String[] args) {
  16.                 // TODO Auto-generated method stub
  17.                 Test1 test1=new Test1();
  18.  
  19.         }
  20.  
  21.         public  Test1(){
  22.                
  23.                 mp=new MyPanel();
  24.                
  25.                 this.add(mp);
  26.                
  27.                 this.addKeyListener(mp);
  28.                
  29.                 this.setSize(400, 300);
  30.                 this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  31.                 this.setVisible(true);
  32.         }
  33.        
  34. }
  35.  
  36. class MyPanel extends JPanel implements KeyListener
  37. {
  38.         int x=10;
  39.         int y=10;
  40.         //重写paint方法
  41.         public void paint(Graphics g){
  42.                
  43.                 super.paint(g);
  44.                
  45.                 g.fillOval(x, y, 12, 12);
  46.                 //g.drawRect(50, 50, 10,5);
  47.                
  48.         }
  49.  
  50.         @Override
  51.         public void keyTyped(KeyEvent e) {
  52.                 // TODO Auto-generated method stub
  53.                 //System.out.println("被按下的是"+e.getKeyChar());
  54.                  
  55.                
  56.                
  57.         }
  58.  
  59.         @Override
  60.         public void keyPressed(KeyEvent e) {
  61.                 // TODO Auto-generated method stub
  62.                 if(e.getKeyCode()==KeyEvent.VK_UP){
  63.                         y-=10;
  64.                        
  65.                 }else if(e.getKeyCode()==KeyEvent.VK_DOWN){
  66.                         y+=10;
  67.                 }else if(e.getKeyCode()==KeyEvent.VK_LEFT){
  68.                        
  69.                         x-=10;
  70.                 }else if(e.getKeyCode()==KeyEvent.VK_RIGHT){
  71.                        
  72.                         x+=10;
  73.                 }
  74.                 this.repaint();
  75.                
  76.         }
  77.  
  78.         @Override
  79.         public void keyReleased(KeyEvent e) {
  80.                 // TODO Auto-generated method stub
  81.                
  82.         }
  83.        
  84. }

回复 "键盘事件监听简单例子"

这儿你可以回复上面这条便签

captcha