简易动画制作

简介:

import java.awt.*;
import java.awt.event.*;
import java.applet.*;
public  class ShowAnimation extends Applet implements Runnable{
    Thread duke;
    Image images[]=new Image[4], image;
    int index, delay;
    boolean flag;
    public void init(){
       index=0;
       duke=new Thread(this);
       delay=Integer.parseInt(getParameter("delay"));//从HTML代码中<param>中获取延迟时间
       for(int i=1; i<=4; ++i){
           images[i-1]=getImage(getCodeBase(), "zjy" + i + ".jpg");
       image=images[index];
       String s=i+"zjy"+1;
       System.out.println(s);
       }
       //还有注意:String s="zjy" + i + 1;//因为"zjy"+i得到的是一个字符串,然后第二个'+'号在这里变成了连接符,并不是算出i+1的整数值
       //String s=i+1+"zjy";//这时候第一个'+'就是计算两个整数值相加的,然后第二个'+'是连接符
       addMouseListener(new MouseAdapter(){
          public void mousePressed(MouseEvent e){
             if(duke==null)
                start();
             else
         stop();
          }
       });
    }
    public void start(){
        flag=true;//表示动画开始播放
        duke=new Thread(this);
        //start方法把嵌入在线程中的虚拟CPU置为可运行状态,意味着它可以被调度运行,但并不意味着线程会立即运行
        duke.start();
        showStatus("Click to stop!");
    }
    public void stop(){
        flag=false;
        duke=null;
        showStatus("Click to start!");
    }
    public void paint(Graphics g){
       g.drawImage(image, 0, 0, 200, 300, this);
    }

    public void run(){
       while(flag){//flag为false后线程将完成运行并结束,将不能再运行!所以一个线程不能多次调用start()方法!
          repaint();
          try{
           Thread.sleep(delay);
         }catch(InterruptedException e){
         
          }
          image=images[(++index)%4];
       }
    }
}

目录
相关文章
|
JSON JavaScript 前端开发
JavaScript 中更现代的深拷贝方法!
JavaScript 中更现代的深拷贝方法!
448 0
|
10月前
|
存储 缓存 NoSQL
Redis原理—4.核心原理摘要
Redis 是一个基于内存的高性能NoSQL数据库,支持分布式集群和持久化。其网络通信模型采用多路复用监听与文件事件机制,通过单线程串行化处理大量并发请求,确保高效运行。本文主要简单介绍了 Redis 的核心特性。
|
12月前
|
搜索推荐 物联网 PyTorch
Qwen2.5-7B-Instruct Lora 微调
本教程介绍如何基于Transformers和PEFT框架对Qwen2.5-7B-Instruct模型进行LoRA微调。
12622 34
Qwen2.5-7B-Instruct Lora 微调
|
存储 JavaScript 前端开发
2022年前端js面试题
2022年前端js面试题
483 156
|
网络协议 安全 Unix
详解 TCP 原理
详解 TCP 原理
|
机器学习/深度学习 存储 算法
基于Python_opencv人脸录入、识别系统(应用dlib机器学习库)(上)
基于Python_opencv人脸录入、识别系统(应用dlib机器学习库)(上)
344 1
|
编解码 监控 网络协议
Netty优化
Netty优化
311 3
|
数据挖掘 物联网 数据处理
深入探讨Apache Flink:实时数据流处理的强大框架
在数据驱动时代,企业需高效处理实时数据流。Apache Flink作为开源流处理框架,以其高性能和灵活性成为首选平台。本文详细介绍Flink的核心特性和应用场景,包括实时流处理、强大的状态管理、灵活的窗口机制及批处理兼容性。无论在实时数据分析、金融服务、物联网还是广告技术领域,Flink均展现出巨大潜力,是企业实时数据处理的理想选择。随着大数据需求增长,Flink将继续在数据处理领域发挥重要作用。
1215 0
|
机器学习/深度学习 调度 芯片
快速入门数字芯片设计,UCSD ECE111(九)FPGA vs ASIC(一)
快速入门数字芯片设计,UCSD ECE111(九)FPGA vs ASIC
345 0
|
弹性计算 固态存储 数据可视化
阿里云服务器租用费用价格表最新
阿里云服务器租用费用价格表最新,2023年阿里云服务器租用费用,轻量应用服务器和云服务器ECS优惠价格表,阿里云轻量应用服务器2核2G3M带宽轻量服务器一年108元,2核4G4M带宽轻量服务器一年297.98元12个月,云服务器ECS包括通用算力型u1、ECS计算型c7、通用型g7和内存型r7均有活动
490 0