停止java.awt.Robot中的所以我在做一個程序,它利用機器人來複制和粘貼文本。然而,當談到如何在動作中間停止機器人時,我遇到了困難(因爲整個應用程序都在GUI中,我更喜歡使用按鈕)。現在我擁有它,這樣Robot就可以創建並且在點擊不同的按鈕時啓動,並且在一定數量的消息之後停止。從我所瞭解的你需要停止它的線程,但我不知道如何做到這一點。有一個JButton
public void initSpam() throws AWTException
{
Robot bot = new Robot();
isRunning = true;
int delayTime;
if(isDefault)
delayTime = DEFAULT;
else
delayTime = customTime;
StringSelection selection = new StringSelection(spam);
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
clipboard.setContents(selection, selection);
bot.delay(1250);
for (int i = 0; i < buffer; i++) {
bot.keyPress(KeyEvent.VK_CONTROL);
bot.keyPress(KeyEvent.VK_V);
bot.keyRelease(KeyEvent.VK_CONTROL);
bot.keyRelease(KeyEvent.VK_V);
bot.keyPress(KeyEvent.VK_ENTER);
bot.keyRelease(KeyEvent.VK_ENTER);
bot.delay(delayTime);
}
}
以上是按下另一個JButton時調用的方法。如果有人能指導我如何做到這一點,並解釋所有這些線程如何工作/如何正確使用它(假設我不太瞭解),我將不勝感激。 謝謝!在initSpam
workThread.interrupt();
補充:
第一套完美的作品!這使得現在更有意義,所以謝謝你。你知道任何可以閱讀關於線程的地方嗎?我猜如果我更好地理解它們,它可能會幫助我找出不使用它們的地方和位置(如果需要)。 – finaris
[Oracle教程](https://docs.oracle.com/javase/tutorial/essential/concurrency/threads.html)可能是一個好的開始。 –