zoukankan      html  css  js  c++  java
  • java事件机制之通过上下左右键来控制小球为位置的移动演示

    /**
     * 功能是加深对事件处理机制的理解
     * 1:通过上下左右键来控制小球为位置的移动
     */
    package com.test4;
    import java.awt.*;
    import javax.swing.*;

    import java.awt.event.*;
    public class Demo9_4 extends JFrame {

    MyPanel mp=null;
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    Demo9_4 demo=new Demo9_4();

    }
    //构造函数
    public Demo9_4()
    {
    mp=new MyPanel();
      //mp加入到JFrame
    this.add(mp);   // 每定义一个 Demo9_4 都会产生一个对应的this
    //添加监听
    this.addKeyListener(mp);     // 键盘监听这个类所定义的对象  用mp对象进行监听
    this.setSize(400,300);
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    this.setVisible(true);
    }
    }
    //定义自己的面板

    class MyPanel extends JPanel implements KeyListener
    {
    int x=10;
    int y=10;
    public void paint(Graphics g)
    {
    super.paint(g);
    g.setColor(Color.BLUE);
    g.fillOval(x, y, 20, 20);
    }
        //键被按下
    public void keyPressed(KeyEvent arg0) {
    // TODO Auto-generated method stub
    // System.out.println("键被按下"+(char)arg0.getKeyCode() );
    if(arg0.getKeyCode()==KeyEvent.VK_UP)
    {
    //System.out.println("键被按上");
    y-=10;
    }
    if(arg0.getKeyCode()==KeyEvent.VK_DOWN)
    {
    //System.out.println("键被按上");
    y+=10;
    }
    if(arg0.getKeyCode()==KeyEvent.VK_LEFT)
    {
    //System.out.println("键被按左");
    x-=10;
    }
    if(arg0.getKeyCode()==KeyEvent.VK_RIGHT)
    {
    //System.out.println("键被按右");
    x+=10;
    }
    //调用 repaint() 函数,来重绘制界面
    this.repaint();
    }
    //键被释放
    public void keyReleased(KeyEvent arg0) {
    // TODO Auto-generated method stub
    }
    //键的一个值被打印输出
    public void keyTyped(KeyEvent arg0) {
    // TODO Auto-generated method stub
    }
    }
  • 相关阅读:
    第二阶段冲刺记录八
    用户体验评价
    找水王
    第二阶段冲刺记录七
    第二阶段冲刺记录六
    第14周学习进度
    第二阶段冲刺记录五
    第二阶段冲刺记录四
    第一阶段意见评论
    IP协议号大全
  • 原文地址:https://www.cnblogs.com/toge/p/6114681.html
Copyright © 2011-2022 走看看