多线程实现图片移动

来源:互联网 发布:淘宝自刷平台 编辑:程序博客网 时间:2024/06/06 02:13
package com.suse.thread;import java.awt.Container;import java.net.URL;import javax.swing.*;public class SwingAndThread extends JFrame {private JLabel jl=new JLabel();//声明JLabel标签对象private static Thread t;//这里虽没有引入java.lang.Thread,但是一切类都继承于超类Object,虽然已经指定继承于JFrame,但可以理解为JFrame继承于超类Objectprivate int x=0;private Container container=getContentPane();//声明容器public   SwingAndThread(){//构造方法没有返回类型,不能写void 此外构造函数不能白继承setBounds(360, 10, 666,666);//绝对定位窗体大小与位置container.setLayout(null);//使窗体不使用任何布局管理器URL url=SwingAndThread.class.getResource("1.png");//获取图片的urlIcon icon=new ImageIcon(url);//实例化一个Iconjl.setIcon(icon);//将图标放在标签中//设置图片在标签的最左方jl.setHorizontalAlignment(SwingConstants.LEFT);jl.setBounds(10, 10, 600, 30);jl.setOpaque(true);t=new Thread(new Runnable(){//定义匿名内部类,该类实现Runnable接口public void run(){//重写run方法while(x<=666){//设置循环条件//将标签的横坐标用变量表示jl.setBounds(x, 666, 200, 50);//x y  w htry {Thread.sleep(100);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}x+=4;if(x>=556){x=10;}}}});t.start();container.add(jl);setVisible(true);setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);}public static void main(String[] args) {new SwingAndThread();}}

这里写图片描述这里写图片描述

原创粉丝点击