zoukankan      html  css  js  c++  java
  • GUI04

    7、画笔Paint

    public class TestPaint {
        public static void main(String[] args) {
            new MyPaint().loadFrame();
        }
    }
    class MyPaint extends Frame{
        public void loadFrame(){
            setBounds(300,200,500,400);
            setVisible(true);
        }
        @Override
        public void paint(Graphics g) {
            //画笔需要有颜色需要画图案
            g.setColor(Color.blue);
            g.drawOval(100,100,100,100);
            g.setColor(Color.yellow);
            g.fillRect(100,200,100,100);
        }
    }
    

    8、鼠标监听

    目的:实现鼠标画画!

    //鼠标监听事件
    public class TestMouseListener {
        public static void main(String[] args) {
            new MyFrame("画图");
        }
    }
    //自己的类
    class MyFrame extends Frame{
        //画画需要画笔,需要鼠标监听当前的位置,需要集合来存储这些点
        ArrayList points;
        public MyFrame(String title){
            super(title);
            setBounds(200,200,400,300);
            points = new ArrayList();
            setVisible(true);
            addMouseListener(new MyMouseListener());
        }
    
        @Override
        public void paint(Graphics g) {
            //画画 监听鼠标的事件
            Iterator iterator = points.iterator();
            while (iterator.hasNext()){
                Point point = (Point)iterator.next();
                g.setColor(Color.blue);
                g.fillOval(point.x,point.y,10,10);
            }
        }
        //添加一个点到界面上
        public void addPoint(Point point){
            points.add(point);
        }
        //适配器模式
        private class MyMouseListener extends MouseAdapter {
            //鼠标按下 弹起 按住不放
            @Override
            public void mousePressed(MouseEvent e) {
                MyFrame frame = (MyFrame) e.getSource();
                //当我们点击鼠标的时候就会产生一个点
                frame.addPoint(new Point(e.getX(),e.getY()));
                //每次点击鼠标都需要重新画一次
                frame.repaint();//刷新
            }
    
        }
    }
    

    9、 窗口监听

    public class TestWindow {
        public static void main(String[] args) {
            new WindowFrame();
        }
    }
    class WindowFrame extends Frame{
        public WindowFrame() {
            setBackground(Color.blue);
            setBounds(100,100,200,200);
            setVisible(true);
            this.addWindowListener(new WindowAdapter() {
                //匿名内部类
                @Override
                public void windowClosing(WindowEvent e) {
                    System.out.println("windowClosing");
                    System.exit(0);
                }
    
                @Override
                public void windowActivated(WindowEvent e) {
                    WindowFrame frame = (WindowFrame) e.getSource();
                    frame.setTitle("被激活了");
                    System.out.println("windowActivated");
                }
            });
        }
    }
    

    10、键盘监听

    //键盘监听
    public class TestKeyListener {
        public static void main(String[] args) {
            new MyKeyFrame();
        }
    }
    class MyKeyFrame extends Frame{
        public MyKeyFrame(){
            setBackground(Color.blue);
            setBounds(100,100,200,200);
            setVisible(true);
            addKeyListener(new KeyAdapter() {
                @Override
                public void keyPressed(KeyEvent e) {
                    int keyCode = e.getKeyCode();
                    System.out.println(keyCode);
                    if (keyCode == KeyEvent.VK_UP){
                    System.out.println("你按下了上键");
                    }
                }
            });
        }
    }
    
    刚刚参加工作,很有很多不懂不会的,发现错误,欢迎指正,谢谢!
  • 相关阅读:
    将HTTP请求对象转成curl命令行
    图片爬虫实践
    [CF1499E] Chaotic Merge
    [ICPC2020南京I] Interested in Skiing
    [ICPC2018西安J] Philosophical … Balance
    [ICPC2018西安L] Eventual … Journey
    [ICPC2018西安I] Misunderstood … Missing
    [ICPC2018西安D] Deja vu of … Go Players
    [ICPC2018西安F] Interstellar … Fantasy
    [ICPC2020南京L] Let's Play Curling
  • 原文地址:https://www.cnblogs.com/xd-study/p/12958151.html
Copyright © 2011-2022 走看看