我正在使用Eclipse IDE,
Java项目,我正在扩展superclass
Applet并且无法完全激活Run方法,这里是源代码:
public void run() {
while (true) {
System.out.println("Help..");
//Updates the character
CHAR1.update();
//Updates the background
bg1.update();
bg2.update();
repaint();
try {
Thread.sleep(17);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
我似乎无法更改任何信息或打印出“帮助...”#34;为什么运行方法不循环?
我一直坐在这里将println
语句放在各处进行测试以查看响应的内容,这是迄今为止我唯一能找到的错误。它没有说出任何错误,它只是没有循环该方法。 (我试过@Override,但它说了一些关于注释的内容并且是一个错误,我用@Override运行它并且没有任何改变。)
感谢任何帮助。
编辑:我编写了用于声明线程的代码,但一定不能保存它。我怎么会忘记?!非常感谢。这是我的第一个Applet,所以我还没有完全理解像Thread这样的东西,试图抓住它。谢啦。我花了好几个小时试图解决这个问题,只是因为我忘了制作线程e.e答案 0 :(得分:0)
重要的是调用Thread对象的.start()方法,而不是.run()方法,即使你的循环是在那里实现的。
如果你直接调用.run()方法,那么该方法会被执行,但是在调用者的同一个线程中,而不是在一个独立的线程中:我猜可能调用者Thread是GUI线程,所以你的循环冻结GUI并且实际上不显示更新。
答案 1 :(得分:0)
您创建了多少个课程?如果你只为applet和thread使用一个类,你必须声明这样的类:
Public class ClsName extends Applet implements runnable { }
您必须分享您的代码以获得完美的解决方案。