【问题标题】:Java move jlabel in animation every 0.5 secondJava每0.5秒在动画中移动jlabel
【发布时间】:2014-07-20 14:49:22
【问题描述】:

我想要简单的动画每 0.5 秒设置一次位置,但它不会仅在循环结束时设置位置。

int x=1;
int y=1;

while(x<100){

jLabel1.setLocation(x, y);

x=x+10;
y=y+10;
try{Thread.sleep(500);}catch(InterruptedException e){}

}

我曾尝试使用 thread.sleep() 绘制动画,并且效果很好,动画效果正确,但不幸的是,这不是我的选择,因为我需要在其中包含图形图片的框架周围移动 jlabel。 有人可以帮我解决这个问题吗?

我已经尝试了这两个相同的结果

jLabel1.setBounds(x, y, jLabel1.WIDTH,jLabel1.HEIGHT);  //not working 
jLabel1.move(x,y);  //not working 

【问题讨论】:

  • 我尝试过使用 Swing Timer,但问题是我无法让它在循环内工作,在 lop 外它确实有动画,但我希望它在里面并在某些情况下让定时器停止

标签: java animation jlabel wait move


【解决方案1】:

不要使用Java Timer 尝试使用更适合Swing 应用程序的Swing Timer

请看How to Use Swing Timers

查找示例代码How to fix animation lags in Java?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多