dabocaiqq 2020-08-02 10:26 采纳率: 63.2%
浏览 58
已采纳

Java语言GUI鼠标点击一系列图形,判断是否和随机出现的数字匹配,并且计算得分?

Java语言GUI鼠标点击一系列图形,判断是否和随机出现的数字匹配,并且计算得分?

  • 写回答

1条回答 默认 最新

  • 这不是鸭头 2020-08-05 10:42
    关注
    package com.zepei;
    
    import java.awt.*;
    import java.awt.event.MouseAdapter;
    import java.awt.event.MouseEvent;
    import java.awt.event.MouseListener;
    import java.util.ArrayList;
    import java.util.Iterator;
    
    // mouse listener action
    public class TestMouseListener {
        public static void main(String[] args) {
            new MyFrame1("paint");
        }
    }
    class MyFrame1 extends Frame {
        // Collection store point
         ArrayList points;
    
        public MyFrame1(String title){
            super(title);
            setBounds(200,200,400,300);
            // store points
            points = new ArrayList<>();
            setVisible(true);
            // mouse listener to the window
            this.addMouseListener(new MyMouseListener());
        }
    
        @Override
        public void paint(Graphics g) {
            Iterator iterator = points.iterator();
            while(iterator.hasNext()){
                Point point = (Point)iterator.next();
                g.setColor(Color.GREEN);
                g.fillOval(point.x,point.y,10,10);
            }
        }
        // add a point to interface
        public void addPaint(Point point){
            points.add(point);
        }
    
        // inner calss
        private class MyMouseListener extends MouseAdapter {
            @Override
            public void mousePressed(MouseEvent e) {
                MyFrame1 myFrame = (MyFrame1)e.getSource();
                // generate a point when click mouse
                myFrame.addPaint(new Point(e.getX(),e.getY()));
                myFrame.repaint(); // refresh
            }
        }
    }
    
    
    package com.listener;
    
    import java.awt.*;
    import java.awt.event.WindowAdapter;
    import java.awt.event.WindowEvent;
    
    public class TestWindowListener {
        public static void main(String[] args) {
            new WindowFrame();
        }
    }
    
    class WindowFrame extends Frame {
        public WindowFrame(){
            setVisible(true);
            setBackground(Color.blue);
            setBounds(100,100,200,200);
            //addWindowListener(new MyWindowListener());
            this.addWindowListener(
                    // 匿名内部类
                    new WindowAdapter() {
                        @Override
                        public void windowClosing(WindowEvent e) {
                            System.out.println("YOU CLICKED ON CLOSE");
                            System.exit(0);
                        }
    
                        @Override
                        public void windowActivated(WindowEvent e) {
                            WindowFrame source = (WindowFrame)e.getSource();
                            source.setTitle("you are activated");
                            System.out.println("windowActivated");
                        }
                    }
            );
        }
    
    //    // inner class
    //    class MyWindowListener extends WindowAdapter{
    //        @Override
    //        public void windowClosing(WindowEvent e) {
    //            setVisible(false); // hide window using button
    //            System.exit(0); // close window
    //        }
    //    }
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 自适应 AR 模型 参数估计Matlab程序
  • ¥100 角动量包络面如何用MATLAB绘制
  • ¥15 merge函数占用内存过大
  • ¥15 Revit2020下载问题
  • ¥15 使用EMD去噪处理RML2016数据集时候的原理
  • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大
  • ¥15 单片机无法进入HAL_TIM_PWM_PulseFinishedCallback回调函数
  • ¥15 Oracle中如何从clob类型截取特定字符串后面的字符
  • ¥15 想通过pywinauto自动电机应用程序按钮,但是找不到应用程序按钮信息
  • ¥15 如何在炒股软件中,爬到我想看的日k线