前言
除了使用Timer类对象控制动画,也可以使用线程来控制动画。
效果
代码
package P1;
import javax.swing.*;
import java.awt.*;
public class FlashingText extends JApplet implements Runnable {
private JLabel jlblText = new JLabel("Welcome",JLabel.CENTER);
public FlashingText() {
add(jlblText);
new Thread(this).start();
}
@Override
public void run() {
try{
while (true){
if (jlblText.getText()==null)
jlblText.setText("Welcome");
else
jlblText.setText(null);
Thread.sleep(200);
}
}catch (InterruptedException ex){
}
}
}
思路
这个类实现了Runnable接口,所以它是一个任务类。如果没有文本的存在,就在标签上显示文本,如果标签上有文本,就让他为null,每隔200毫秒执行一次线程,就可以达到上述效果了。