Thread多线程(二):Runnable

    xiaoxiao2023-03-24  4

    如果要让其他类使用线程就要用到runnable,其他thread就是实现了runnbale接口,其中run()方法就是对runnable接口中的run()方法的具体实现。有两个构造函数分别是:public thread(runnable)、public thread(runnable r,string name)         使用runnable接口实现了启动新的线程步骤如下:                1、创建runnable对象。2、使用参数为runnable对象的构造方法创建thread实例。3、调用start()方法启动线程。        下面结合swing来练习一下:                  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();//调用主体 } }
    转载请注明原文地址: https://ju.6miu.com/read-1201416.html
    最新回复(0)