这是一个用Thread做的一个小动画
//这是主程序
package net.cartoon.etwo;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class Cartoon {
private JFrame jframeMain = new JFrame("动画");
private JPanel jpanelMain = new JPanel();
private JLabel jlabelImage;
private Icon icon;
private String strFile = "paopao.gif";
public Cartoon() {
// TODO Auto-generated constructor stub
icon = new ImageIcon(Paopao.class.getResource(strFile));
jlabelImage = new JLabel(icon);
jpanelMain.add(jlabelImage);
jpanelMain.setLayout(null);
CartoonThread ct = new CartoonThread(jlabelImage);
ct.start();
jframeMain.add(jpanelMain);
jframeMain.setSize(500, 400);
jframeMain.setLocationRelativeTo(null);
jframeMain.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jframeMain.setVisible(true);
}
public static void main(String[] args) {
new Cartoon();
}
}
这是Thread
package net.cartoon.etwo;
import javax.swing.JLabel;
public class CartoonThread extends Thread {
private JLabel jlabelImage;
public CartoonThread(JLabel jlabelImage) {
// TODO Auto-generated constructor stub
this.jlabelImage = jlabelImage;
}
@Override
public void run() {
// TODO Auto-generated method stub
// super.run();
while (true) {
// jlabelImage.setLocation(0, 0);
try {
int x = 300;
if (x == 300) {
for (; x >= 50; x--) {
jlabelImage.setBounds(x, 0, 80, 80);
Thread.sleep(5);
}
}
if (x != 300) {
for (; x <= 300; x++) {
jlabelImage.setBounds(x, 0, 80, 80);
Thread.sleep(5);
}
}
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
//获取资源类
package net.cartoon.etwo;
public class Paopao {
}
分享到:
相关推荐
电子书相关:包含4个有关JAVA线程的电子书(几乎涵盖全部有关线程的书籍) OReilly.Java.Threads.3rd.Edition.Sep.2004.eBook-DDU Java Thread Programming (Sams) java线程第二版中英文 java线程第二版中英文 ...
Java线程Java线程Java线程Java线程
Java 模拟线程并发 Java, 模拟线程并发,线程,并发 Java, 模拟线程并发,线程,并发 Java, 模拟线程并发,线程,并发 Java, 模拟线程并发,线程,并发
在Java中创建线程有两种方法:使用Thread类和使用Runnable接口。在使用Runnable接口时需要建立一个Thread实例。因此,无论是通过Thread类还是Runnable接口建立线程,都必须建立Thread类或它的子类的实例。
java线程分析java project例子,里面分析了sleep(),join(),yield()和wait以及notify等方法的使用以及需要注意的地方。
9.1 Java中的线程 9.2 Thread的子类创建线程 9.3 使用Runable接口 9.4 线程的常用方法 9.5 GUI线程 9.6 线程同步 9.7 在同步方法中使用wait()、notify 和notifyAll()方法 9.8 挂起、恢复和终止线程 9.9 计时器线程...
java多线程thread实例,经过测试的,可以直接运行
继承Thread类: 1必须重写run 方法:里面放置的实际的线程体 2 启动线程: 3创建Thread对象 4调用Thread对象的start 方法启动线程
第五章 Java线程编程的例子 数据结构和容器 简单的同步例子 一个网络服务器类 AsyncInputStream类 使用TCPServer和AsynclnputStream 总结 第六章 Java线程调度 线程调度概述 何时调度是重要的 调度和线程优先级 ...
Java的TDA线程转储分析器是一个用于分析Sun Java VM生成的线程转储和堆信息的小型Swing GUI(目前用1.4测试)。它从提供的日志文件中解析线程转储和类直方图。它提供关于发现的线程转储的统计信息,提供关于锁定监视器...
Thread本质上也是一个实现了Runnable的实例,他代表一个线程的实例,并且启动线程的唯一方法就是通过Thread类的start方法。 2.实现Runnable接口,并实现该接口的run()方法.创建一个Thread对象,用实现的Runnable接口...
java10个线程按照顺序打印1-100
java application multiThread clock,模拟时钟(AWT程序、Runnable接口),有时、分、秒针 编写一个应用程序,创建三个线程分别显示各自的时间。
另外一个线程,不断的从队列中读取数据(该队列的字符串数据就是另一个线程存入的)然后显示在控制台。 要求:(a) 必须使用System.in,InputStreamReader, BufferedReader,Thread, (b) 必须使用java.util.concurrent...
锁定排序 3.6 线程优先级 3.7 监控程序线程 3.8 在应用程序中加入线程 ...线程中的过时方法 3.12 DownloadFiles类 3.13 未捕捉的异常 3.14 自愿放弃处理器 3.15 并发工具 3.16 小结
java多线程的使用方法如何使用,怎么使用,使用过程中有什么要注意的
Java线程(Java.Thread)(中英版).
在Java中创建线程有两种方法:使用Thread类和使用Runnable接口。在使用Runnable接口时需要建立一个Thread实例。因此,无论是通过Thread类还是Runnable接口建立线程,都必须建立Thread类或它的子类的实例。
6个非常经典的java多线程实例!欢迎下载!!!
Java-Thread-Affinity,将Java线程绑定到给定的内核.zip