你建议我实现我的目标是什么?
我想在常规的intervall中重复Robot
个东西(按下键)。描述也在我的代码中。
我正在使用eclipse neon with windowbuilder
(java / swing / jframe)。
package patrick;
import java.awt.AWTException;
import java.awt.Robot;
import java.awt.event.KeyEvent;
import java.sql.Time;
import java.util.TimerTask;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import javax.management.timer.Timer;
public class Background implements Runnable {
public boolean isRunning = true;
int intervall = 0;
Robot r = null;
public Background(int i)
{
this.intervall = i;
}
@Override
public void run()
{
System.out.println("Thread: " + Thread.currentThread().getName() + " gestartet!");
System.out.println("Intervall i: " + intervall);
try {
r = new Robot();
} catch (AWTException e) {
e.printStackTrace();
}
while(isRunning)
{
//int intervall is given me from my MainWindow Class and represents the minutes (for example I get a 5 which means 5 minutes)
//now I want to do Robot stuff here that repeats in the given intervall time
}
}
public void stop()
{
isRunning = false;
System.out.println("Thread: " + Thread.currentThread().getName() + " gestoppt!");
}
}
编辑:
后台从MainWindow Class开始,如下所示:
bg = new Background(itmp);
th1 = new Thread(bg);
th1.start();
EDIT2:先回答
喜欢这个吗?
timer.scheduleAtFixedRate(
while(isRunning)
{
//int intervall is given me from my MainWindow Class and represents the minutes (for example I get a 5 which means 5 minutes)
//now I want to do Robot stuff here that repeats in the given intervall time
}
, delay, period);
EDIT3:
timer.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
while(isRunning)
{
//int intervall is given me from my MainWindow Class and represents the minutes (for example I get a 5 which means 5 minutes)
//now I want to do Robot stuff here that repeats in the given intervall time
}
}
}, 0, intervall*6000);