Java 落体字没有给出预期的结果
我试图使这个GUI中有这些从屏幕顶部掉下来的单词,我的构造函数中有以下代码,单词每100毫秒移动一个单位。但是,当我运行该程序时,该单词在我启动时出现在400,而不是屏幕顶部。我想有一个特定的方法可以连续更新我的y值?谢谢Java 落体字没有给出预期的结果,java,swing,user-interface,Java,Swing,User Interface,我试图使这个GUI中有这些从屏幕顶部掉下来的单词,我的构造函数中有以下代码,单词每100毫秒移动一个单位。但是,当我运行该程序时,该单词在我启动时出现在400,而不是屏幕顶部。我想有一个特定的方法可以连续更新我的y值?谢谢 while(y <= 400){ y++; repaint(); try { TimeUnit.MILLISECONDS.sleep(100); } catch (InterruptedExcepti
while(y <= 400){
y++;
repaint();
try {
TimeUnit.MILLISECONDS.sleep(100);
} catch (InterruptedException ex) {
Logger.getLogger(Painting.class.getName()).log(Level.SEVERE, null, ex);
}
}
while(y休眠线程不是获得所需结果的最佳实践,请改用:
y
的起始值是多少?你的代码片段中缺少了这个值。我从y=20开始,它有点任意性。不要在EDT上睡觉;一定要看到和。
Timer timer = new Timer(100, new ActionListener() { //100 is the delay time between each interval
@Override
public void actionPerformed(ActionEvent e) {
repaint();
y ++;
if (y > 400) {
((Timer) e.getSource()).stop();
}
}
});
timer.start();