java学习——112.滚动字
在运行中的线程可通过调用sleep()方法使之停止执行,线程由运行态进行等待态,睡眠时间到,线程会再次自动调用start()方法恢复运行。
sleep()方法声明如下,参数millis指定睡眠的毫秒数。
public static void sleep(long millis) throws InterruptedException
注意:在调用此方法时需要进行异常处理。
滚动字即是可以滚动的字,如下视频所示:
如上视频,字是滚动起来的,但实际上,它只是看起来像动画一样在滚动,在写代码时,主要是通过循环和睡眠来实现,其完整代码如下:
//滚动字
import java.awt.*;
import javax.swing.*;
public class ThreadLearn extends JFrame implements Runnable{
/**
*
*/
private static final longserialVersionUID = 1L;
private JTextField text;
public ThreadLearn(){
super("多线程学习");
this.setBounds(200,200,480,300);
this.setVisible(true);
text=new JTextField("移动啦,左右移动啦,今天是2019年啦,加油加油,努力努力再努力哟!");
this.getContentPane().add(text);
}
@Override
public void run() {
// TODO Auto-generatedmethod stub
while(true){//循环,无限次
String s=text.getText();
text.setText(s.substring(1)+s.substring(0, 1));//字的移动相当于每次都将第一个字移到最后一个
try{
Thread.sleep(100);//进程休眠,休眠时间结束会自动调用start(),启动线程
}
catch(Exception e){
e.getStackTrace();
}
}
}
public static void main(String args[]){
ThreadLearn target=new ThreadLearn();
Thread thread=new Thread(target);
thread.start();
}
}
可以通过修改sleep()的参数改变文字移动的速度。