我的代码如下。我有以下问题:我必须停止Thread t
,但内部是一个将线程在一个地方暂停很长时间的方法。因此,当我试图阻止它时,它会在执行该方法后停止。任何人都知道如何终止此线程或在线程内执行方法时以任何其他方式停止它?
public class MyClass extends JFrame implements Runnable{
@Override
public void run() {
OtherClass oc = new OtherClass();
Runnable r = oc;
Thread t = new Thread(r);
t.start();
addButton(buttonPanel, "Stop it", new ActionListener() {
@Override
public void actionPerformed(ActionEvent event) {
System.out.println("stopping");
t.stop();
setVisible(false);
}
});
}
}
public void addButton(Container c, String title, ActionListener listener) {
JButton button = new JButton(title);
c.add(button);
button.addActionListener(listener);
}