Also verwende ich die Robot-Klasse in Java, um eine Aufgabe automatisch während der Nacht durchzuführen. Ich brauche es um 1:10:10 Uhr, aber es funktioniert nicht mit meinen Tests. Ich passe die Zeit mit der aktuellen Zeit an, aber füge eine Minute zum Testen hinzu. Es führt die Aufgabe nicht aus. Hier ist meine (herausgegeben, machte die ganze Zahl ein boolean jetzt auch) Hauptcode:Eine Aufgabe zu einer bestimmten Zeit ausgeführt
private void startStopButtonActionPerformed(java.awt.event.ActionEvent evt) {
Calendar cal = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("hh:mm:ss");
String time = sdf.format(cal.getTime());
System.out.println(time);
press = true;
while(press == true){
if(time.equals("09:39:10")){
System.out.println("well its time");
try {
rightClick();
TimeUnit.SECONDS.sleep(2);
click(573, 255);
TimeUnit.SECONDS.sleep(2);
click(648, 294);
TimeUnit.SECONDS.sleep(2);
keyPress();
TimeUnit.SECONDS.sleep(2);
press = false;
} catch (AWTException | InterruptedException ex) {
Logger.getLogger(MainFrame.class.getName()).log(Level.SEVERE, null, ex);
}
break;
}
}
}
Und hier sind meine Methoden:
private void rightClick() throws AWTException{
Robot bot = new Robot();
bot.keyPress(KeyEvent.VK_5);
bot.delay(500);
bot.keyRelease(KeyEvent.VK_5);
bot.delay(1000);
bot.mousePress(InputEvent.BUTTON3_DOWN_MASK);
bot.delay(500);
bot.mouseRelease(InputEvent.BUTTON3_DOWN_MASK);
}
private void click(int x, int y) throws AWTException{
Robot rob = new Robot();
rob.mouseMove(x, y);
rob.mousePress(InputEvent.BUTTON1_DOWN_MASK);
rob.delay(500);
rob.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);
}
private void keyPress() throws AWTException{
Robot r = new Robot();
r.keyPress(KeyEvent.VK_T);
r.delay(500);
r.keyRelease(KeyEvent.VK_T);
r.delay(500);
}
So hoffe ich, dass jemand aufklären kann mich darüber, warum es isn‘ t die Aufgabe erledigen. :)
Haben Sie es debuggt? Sind Sie sicher, dass Ihre Datumszeichenfolge im richtigen Format ist? – Carcigenicate
Was ist 'drücken' oben? Wo wird es deklariert und initialisiert? – nullpointer
Die 'press' ist eine Ganzzahl und wird jedes Mal, wenn ich die StartStop-Taste drücke, um 1 erhöht. Ja, ich habe sichergestellt, dass meine Datenfolge im richtigen Format ist. –