В настоящее время у меня есть окно jFrame, в котором одна из кнопок выполняет долговременную рекурсивную функцию.Использование потока для прерывания рекурсивной функции внутри класса jFrame
Что я хочу, так это то, что когда я нажимаю на другую кнопку окна, программа останавливает выполнение функции.
Вот мой код:
public class CrawlerInterface extends javax.swing.JFrame
{
public CrawlerInterface()
{
initComponents();
}
private void playButtonActionPerformed(java.awt.event.ActionEvent evt)
{
playButton.setEnabled(false);
stopButton.setEnabled(true);
Crawler.crawl("http://www.mywebsite.com", "site"); //That's the one to interrupt
}
private void stopButtonActionPerformed(java.awt.event.ActionEvent evt)
{
stopButton.setEnabled(false);
playButton.setEnabled(true);
//Interrupt crawl function here!
}
[...]
}
Как я могу изменить приведенный выше код, чтобы сделать это, используя нить? Если есть способ сделать это без использования потоков, пожалуйста, скажите мне!
Заранее спасибо.
Вам необходимо резьб. – bmargulies
Как я могу использовать их здесь? – user1881815
SwingWorker, если быть точным. http://docs.oracle.com/javase/tutorial/uiswing/concurrency/worker.html –