java学习笔记76--定时器Timer

javax.swing.Timer类,可以定时触发事件,调用监听器的指定方法
    例如:
    JFrame jFrame = new JFrame();
    JPanel panel = new JPanel();
    
    JPanel north = new JPanel();
    JButton startBtn = new JButton("开始");
    JButton endBtn = new JButton("停止");
    
    final Canvas canvas = new Canvas();
    
    final Timer timer = new Timer(500,new ActionListener() {
        private int count;
        @Override
        public void actionPerformed(ActionEvent e) {
            if(count*10>=canvas.getWidth()){
                return ;
            }
            Graphics g = canvas.getGraphics();
            g.drawLine(count*10, 0, count*10, canvas.getWidth());
            count++;
        }
    });
    
    startBtn.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            timer.start();
        }
    });
    endBtn.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            timer.stop();
        }
    });
    
    north.add(startBtn);
    north.add(endBtn);
    
    panel.setLayout(new BorderLayout());
    panel.add(canvas);
    
    jFrame.add(north,BorderLayout.NORTH);
    jFrame.add(panel);
    
    jFrame.setSize(400, 400);
    jFrame.setLocation(700, 300);
    jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    jFrame.setVisible(true);

猜你喜欢

转载自blog.csdn.net/onepiece_loves/article/details/88757388
今日推荐