• 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){
            //按键抬起
        }
        
    }
  • 相关阅读:
    demo16-打印名字
    demo15-获取标签里面的值
    bufferedReader 读取文件第一行第一个字符丢失问题
    Python的逻辑控制true/false和循环
    python中的对文件的读写
    Python初学习:简单的练习题
    VMware安装的Linux系统忘记密码 怎么修改root密码
    ZooKeeper伪分布式集群安装及使用
    Jersey实现跨服务器上传图片:UniformInterfaceException:403 Forbidden
    Spring中的一些面试题
  • 原文地址:https://www.cnblogs.com/phpyangbo/p/5965839.html
Copyright © 2020-2023  润新知