`
Etwo
  • 浏览: 104399 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

java中Thread线程的一个小例子,动画展示

 
阅读更多

这是一个用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 {

}

1
0
分享到:
评论

相关推荐

    线程 JAVA java线程 java线程第3版 java线程第2版第3版合集

    电子书相关:包含4个有关JAVA线程的电子书(几乎涵盖全部有关线程的书籍) OReilly.Java.Threads.3rd.Edition.Sep.2004.eBook-DDU Java Thread Programming (Sams) java线程第二版中英文 java线程第二版中英文 ...

    java(applet小动画)

    本项目是一个基于Applet实现的龟兔赛跑动画,利用多线程的概念,展示了如何在Java中创建动态的、可定制的图形用户界面。 首先,Applet是Java类库中的一个特殊类型,它继承自`java.applet.Applet`类或实现了`javax....

    java制作超简单动画

    例如,使用`java.lang.Thread`创建一个新的线程来处理音乐播放。 总结来说,Java制作简单动画主要依赖于Swing库中的`javax.swing.Timer`,而进程在动画制作中并不常见,但当需要与其他系统资源交互或并行处理时,...

    java 趣味例子

    这个特定的例子涉及到了多线程和图形用户界面(GUI)的运用,特别是动态增加小球的展示,这通常是一个关于动画和同步的示例。下面我们将详细探讨这些知识点。 首先,`ball.java`文件很可能包含了一个名为`Ball`的类...

    后台线程例子backgroudwoker

    在标题"后台线程例子backgroudwoker"中,我们可以推断这是一个关于如何在程序中创建和管理后台线程的实例。描述提到“可以知道线程何时结束”,这暗示了可能涉及到线程状态的监控和管理。 线程是多任务操作系统中的...

    java 编程小例子

    本小例子旨在提供一个基础的Java编程教程,帮助初学者逐步建立扎实的编程基础。下面,我们将深入探讨这个“图片百叶窗”实例所涉及的Java知识点。 首先,让我们了解Java编程的基础。Java是一种面向对象的编程语言,...

    多线程风车动画源码

    学习多线程风车动画源码,不仅可以掌握Java多线程的基本用法,还能锻炼对线程同步、通信和调度的理解,对于初学者来说是一个很好的实践案例。通过这个实例,我们可以逐步建立起对多线程编程的全面认识,并能将其应用...

    Java中线程休眠编程实例

    在`run()` 方法中,有一个无限循环,循环体内的`Thread.sleep(100)`使得线程每隔0.1秒执行一次绘图操作。 在绘图过程中,`getGraphics()` 方法用于获取组件(在这个例子中是JFrame)的绘图上下文,这个上下文对象...

    几个swing多线程的例子

    Java Swing 是一个用于构建桌面应用程序的用户界面工具包,它是Java Foundation Classes (JFC) 的一部分。Swing 提供了一套丰富的组件,如按钮、文本框、菜单等,用于创建美观且功能齐全的图形用户界面。然而,由于 ...

    龟兔赛跑Java源码

    在编程世界中,"龟兔赛跑"是一个经典的多线程示例,它源自于一个古老的故事,通过编程实现来教育我们关于线程同步和协作的重要性。在这个Java源码中,我们将深入探讨如何利用线程来模拟故事的情节,以及在Java中如何...

    java实现龟兔赛跑程序

    在这个Java实现的程序中,我们看到"java实现龟兔赛跑程序"的标题,表明它是一个通过Java语言的多线程特性来模拟龟兔比赛的示例。下面我们将深入探讨这个话题。 首先,我们需要理解Java中的线程。线程是程序执行的...

    用java编程来回运动的小球

    7. **线程安全**: 考虑到Java GUI的多线程特性,所有对组件的修改操作都需要在事件调度线程(Event Dispatch Thread, EDT)中进行,以避免出现线程安全问题。因此,我们可能需要使用`SwingUtilities.invokeLater()`...

    论文研究-一种基于Java的网络拓扑水波动画显示方法设计及实现.pdf

    文章中提及的Java-MVC模式正是在Java环境下实现MVC设计模式的一个例子,有助于提高网络管理系统的可维护性与可扩展性。 5. Java Applet在动画实现中的技术细节: 文章的部分内容包含了Java Applet编程的片段,例如...

    Java笔记及java2实用教程(第3版例子代码)

    继承允许一个类(子类)继承另一个类(父类)的属性和方法,增强了代码的重用性。多态性指的是同一种操作可以作用于不同的对象,产生不同的效果,增强了程序的灵活性。封装则是隐藏对象的内部细节,仅通过公共方法与...

    Java弹跳球Applet

    Java弹跳球Applet是一个基于Java编程语言的交互式应用程序,它展示了一个在JPanel上动态运动的蓝色小球。这个程序的核心在于它的鼠标监听器(MouseListener)和线程处理,使得用户可以通过按下鼠标来启动球的运动。...

    android漂亮的动画源代码

    例如,一个简单的帧动画可能包含一组SVG或PNG图片,通过设置`&lt;animation-list&gt;`在XML资源文件中定义每一帧,并指定每帧的持续时间。 补间动画则更加灵活,可以改变视图的位置、大小、透明度等属性。它包括平移...

    多线程应用程序,一边在内部进行记数,一边在窗口播放动画

    标题和描述提到的应用程序就是一个典型的例子,它同时进行着内部计数和窗口动画播放,这涉及到以下几个关键知识点: 1. **多线程概念**:多线程是指一个进程中可以有多个并发执行的线程。在操作系统层面,线程是CPU...

    C#多线程编程速成

    例如,在浏览器中,用户可以在下载Java小程序或图片的同时滚动页面、播放动画和声音、打印文件等,这些都是多线程技术的应用实例。 多线程的优点在于能够提高CPU的利用率。当一个线程需要等待时(例如等待I/O操作...

    java实现的星际大战小游戏

    通过以上知识点的介绍,我们可以看出,Java实现的星际大战小游戏不仅仅是一个娱乐项目,也是学习和实践Java编程技能的好例子。它涵盖了面向对象设计、图形界面开发、多线程处理、游戏逻辑等多个方面,对于提升Java...

Global site tag (gtag.js) - Google Analytics