time-funkcja uruchamian co sekunde

0

Witam, Mam pytanie jak w kodzie zapisać odpalanie funkcji co sekunde??

0

Użyj jednej z klas javax.swing.Timer lub java.util.Timer

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;

public class TestTimera extends JFrame implements ActionListener
{
    private final static int ONE_SECOND=1000;
    private JTextArea info=new JTextArea(20,10);
    private javax.swing.Timer timer;
    //------------------------
    public static void main(String args[])
    {
        new TestTimera();
    }
    //------------------------
    public TestTimera()
    {
        super("Test Timera");
        setLayout(new BorderLayout(2,2));

        JToolBar tb=new JToolBar();
        JButton b=new JButton(new ImageIcon("images/Play.gif"));
        b.setToolTipText("Uruchomienie Timera");
        b.setActionCommand("Start");
        b.addActionListener(this);
        tb.add(b);

        b=new JButton(new ImageIcon("images/Stop.gif"));
        b.setToolTipText("Zatrzymanie Timera");
        b.setActionCommand("Stop");
        b.addActionListener(this);
        tb.add(b);
        add(tb,"North");

        JPanel p=new JPanel();
        p.add(info);
        add(p,"Center");
        timer=new javax.swing.Timer(ONE_SECOND,new ActionListener()
        {
            public void actionPerformed(ActionEvent ae)
            {
            	info.append("A kuku\n");
            }
        });
        pack();
        setVisible(true);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
    //------------------------
    public void actionPerformed(ActionEvent ae)
    {
    	String nazwa=ae.getActionCommand();
        if (nazwa.equals("Stop"))
        {
            timer.stop();
        }
        if (nazwa.equals("Start"))
        {
       	    timer.start();
        }
    }
}
0

dziękuje działa, troszkę uprościłem

1 użytkowników online, w tym zalogowanych: 0, gości: 1