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