每次运行TimerTask时,如何使timer.schedule()的句点更改?

时间:2015-12-20 02:37:32

标签: java random timer

timer.schedule(new PressTask(), 2000, rand);

我希望上面的每一次都有不同的数字。例如,第一次定时器。 schedule 被调用,让我们说 rand 是5345.下次调用它时,它应该是一个不同的数字,而不是5345.我该怎么做?

原谅凌乱的编码,这只是我为自己做的一点练习。

public class Keypress 
{
    static Timer timer = new Timer();
    static JFrame frame = new JFrame();
    static JButton btn = new JButton("start");
    static JButton btn2 = new JButton("stop");
    static JTextField txt = new JTextField();
    static Robot robot;
    static Random couch = new Random();
    static int rand = couch.nextInt(10000 - 5000) + 5000;

   public static void main(String[] args) 
    {
System.out.println(rand);

frame.setSize(500,300);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
btn.addActionListener(new startPress());
btn2.addActionListener(new stopPress());
    frame.setLayout(new GridLayout(3, 1));
frame.add(btn);
frame.add(btn2);
frame.add(txt);

try 
{
    robot = new Robot();
} 
catch (AWTException e) 
{
    e.printStackTrace();
}
frame.setVisible(true);
}
static class startPress implements ActionListener
{
    public void actionPerformed(ActionEvent e) 
    {
        timer.schedule(new PressTask(), 2000, rand);
    }
}
public static class PressTask extends TimerTask
{
public void run()
{
    robot.keyPress(KeyEvent.VK_1);
    robot.keyRelease(KeyEvent.VK_1);
}
}
static class stopPress implements ActionListener
{
    public void actionPerformed(ActionEvent e) 
    {
        System.exit(0);
    }
}
}

0 个答案:

没有答案