在運行中的線程可通過調(diào)用sleep()方法使之停止執(zhí)行,線程由運行態(tài)進(jìn)行等待態(tài),睡眠時間到,線程會再次自動調(diào)用start()方法恢復(fù)運行。 sleep()方法聲明如下,參數(shù)millis指定睡眠的毫秒數(shù)。 public static void sleep(long millis) throws InterruptedException 注意:在調(diào)用此方法時需要進(jìn)行異常處理。 滾動字即是可以滾動的字,如下視頻所示: 如上視頻,字是滾動起來的,但實際上,它只是看起來像動畫一樣在滾動,在寫代碼時,主要是通過循環(huán)和睡眠來實現(xiàn),其完整代碼如下: //滾動字 import java.awt.*; import javax.swing.*; public class ThreadLearn extends JFrame implements Runnable{ /** * */ private static final longserialVersionUID = 1L; private JTextField text; public ThreadLearn(){ super("多線程學(xué)習(xí)"); 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){//循環(huán),無限次 String s=text.getText(); text.setText(s.substring(1)+s.substring(0, 1));//字的移動相當(dāng)于每次都將第一個字移到最后一個 try{ Thread.sleep(100);//進(jìn)程休眠,休眠時間結(jié)束會自動調(diào)用start(),啟動線程 } catch(Exception e){ e.getStackTrace(); } } } public static void main(String args[]){ ThreadLearn target=new ThreadLearn(); Thread thread=new Thread(target); thread.start(); } } 可以通過修改sleep()的參數(shù)改變文字移動的速度。 |
|