首页 > 代码库 > java 事件监听 - 键盘

java 事件监听 - 键盘

java 事件监听 - 键盘

//事件监听//键盘事件监听,写了一个小案例,按上下左右,改变圆形的位置,圆形可以移动import java.awt.*;import javax.swing.*;import java.awt.event.*;public class Index extends JFrame{        //设置面板    Wdmb wdmb = new Wdmb();            public static void main(String[] args) throws Exception{        //实例化当前类        Index index = new Index();            }        //自动执行    public Index(){                        this.add(wdmb);                //添加键盘监听事件        this.addKeyListener(wdmb);                this.setSize(500,500);        this.setLocation(300,200);        this.setTitle("绘图");        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);        this.setVisible(true);    }        }//面板方法class Wdmb extends JPanel implements KeyListener{        int x = 50;    int y = 50;        //方法覆盖    //JPanel自带方法,下面格式是固定的    //paint 会在三种情况下自动被调用    //1、启动程序  2、窗口大小发生变化时  3、运行repaint函数时    public void paint(Graphics g){        //覆盖父类的方法        super.paint(g);        g.setColor(Color.red);        g.fillOval(x, y, 50, 50);    }        public void keyTyped(KeyEvent e){        //有字符输出函数        System.out.println("按下了能输入内容的按键");    }        public void keyPressed(KeyEvent e){        //全部按键,响应        System.out.println("键盘被按下,数字为:"+e.getKeyCode()+",按键是:"+(char)e.getKeyCode());                //方向键,上下左右        if(e.getKeyCode()==38){            //            y-=10;        }         else if(e.getKeyCode()==40){            //            y+=10;        }                                                                                                                                  else if(e.getKeyCode()==37){            //            x-=10;        }        else if(e.getKeyCode()==39){            //            x+=10;        }                //重新调用界面        this.repaint();            }        public void keyReleased(KeyEvent e){        //按键抬起    }    }

 

java 事件监听 - 键盘