1
只要线程中的run方法被调用,我的GUI就会冻结,有人知道为什么吗?使用GUI启动线程(Java)
主营:
public void run() {
while (true) {
System.out.println("test");
}
}
ActionListener,用户应该启动线程:
private ActionListener btnStartListener = new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
robot.run();
}
};
public class RobotThread implements Runnable {
@Override
public void run() {
while (true) {
System.out.println("test");
}
}
}
+1对于'run()'不启动一个新线程 - 但是由于swing是事件派发线程而不是主线程,这导致UI冻结。 –
@ piet.t - 好点,我会更新我的答案。 –
是的,机器人指的是一个Runnable的实例。我试过你的答案,但run()中的代码现在没有得到执行。 – user3742929