package hengzhe.cn.o1;
import java.awt.Container;
import java.net.URL;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.SwingConstants;
import javax.swing.WindowConstants;
public class SwingAndThread extends JFrame
{
private JLabel jl = new JLabel();
private static Thread t;//線程對象
private int count = 0;
private Container container = getContentPane();//容器
public SwingAndThread()
{
setBounds(300, 200, 250, 100);//窗體大小與位置
container.setLayout(null);
Icon icon = new ImageIcon("E:\\ymnl.png");
jl.setIcon(icon);
jl.setHorizontalAlignment(SwingConstants.LEFT);//圖片的位置
jl.setBounds(10, 10, 200, 50);//標籤的大小
jl.setOpaque(true);
t = new Thread(new Runnable() //匿名類,實現runnable接口
{
public void run()//重寫run()方法
{
while (count <= 200)//設置循環條件
{
jl.setBounds(count, 10, 200, 50);
try
{
t.sleep(1000);//休眠1000毫秒
} catch (Exception ex)
{
ex.printStackTrace();
}
count += 4;//圖片的位置增加四
if (count == 200)
{
count = 10;//當圖片到最右邊時,讓圖片再到左邊
}
}
}
});
t.start();//啓動
container.add(jl);//添加容器中
setVisible(true);//可見
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
}
public static void main(String[] args)
{
new SwingAndThread();//調用主體
}
}
Thread多線程(二):Runnable
如果要讓其他類使用線程就要用到runnable,其他thread就是實現了runnbale接口,其中run()方法就是對runnable接口中的run()方法的具體實現。有兩個構造函數分別是:public thread(runnable)、public thread(runnable r,string name)
使用runnable接口實現了啓動新的線程步驟如下:
1、創建runnable對象。2、使用參數爲runnable對象的構造方法創建thread實例。3、調用start()方法啓動線程。
下面結合swing來練習一下:
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.