Gif是swing中实现动画的常用手段。通常在swing中显示图片最简单的方式是调用JButton或JLabel的setIcon(Icon icon)方法。但是这种做法不适合显示gif图片,因为如果你这样做的话马上会发现gif的刷新率往往非常快,或者应该说太快了,并且相应的cpu利用率会大幅度提高,严重情况下可能导致死机。

为了解决这个问题你可以选择以下两种思路,第一种思路是:将gif图片分割成若干张静态图片,然后通过程序循环显示这些图片,达到动画的目的。比如下图,这当然是不好的做法,麻烦,且工作量巨大。

通过循环显示实现动画

第二种思路是使用代码手动分析gif文件,这一部分本文提供了完整的实现,下载链接在文章末尾。下载包中的GifAnalysis.java是gif的分析工具。Gif.java则是呈现gif的一个参考。

如果你希望了解GifAnalysis.java的实现原理,那么需要对gif文件格式有一些基础的理解和了解java处理gif的相关接口,那么请参考末尾的链接,这是一篇译文,可能有些不通顺,有兴趣的人可以找一下相关外文文档。

实现原理:http://www.blogjava.net/javagui/archive/2008/12/07/javafx.html

java swing 图片gif_Java swing显示gif相关推荐

  1. java byte 图片浏览器直接显示_以Spring Boot的方式显示图片或下载文件到浏览器的示例代码...

    以Java web的方式显示图片到浏览器以Java web的方式下载服务器文件到浏览器 以Spring Boot的方式显示图片或下载文件到浏览器 请求例子:http://localhost:8080/ ...

  2. java byte 图片浏览器直接显示_在imge控件中直接显示图片(图片是byte[]格式)

    在工作过程中遇到了这个问题,在网上查了一些资料,结合自己的解决方法及解决过程总结了下,方面以后查阅.如果能帮到同样遇到这个问题的你,将非常高兴哦~_~ 由于asp.net中的Image控件是在Syst ...

  3. java 空白图片_java applet 显示图片 一片空白 ??

    代码:importjava.applet.Applet;importjava.awt.Graphics;importjava.awt.Image;importjava.awt.event.MouseE ...

  4. java swing背景_java swing 设置背景图片的方法一

    下面是偶写着玩的下测试的代码:(不好之处,请多多指教,大家共同进步 ) import java.awt.*; import javax.swing.*; public class ImageDemo ...

  5. java游戏开发基础Swing之JRadioButton

    © 版权声明:本文为博主原创文章,转载请注明出处 1.按钮(JButton) Swing中的按钮是JButton,它是javax.swing.AbstractButton类的子类,Swing中的按钮可 ...

  6. 老Java程序员谈谈swing要不要学

    老Java程序员谈谈Swing要不要学 老java程序员谈谈要不要学swing Swing是什么? 1)AWT 在早期JDK1.0发布时,Sun公司就为GUI开发提供了一套基础类库,这套类库被称为AW ...

  7. 视频教程-Java学习指南(Swing高级篇)-Java

    Java学习指南(Swing高级篇) 邵发,清华大学毕业,从业软件开发十余年,自2015年起致力于C/C++/Java等基础教育领域,希望能通过提高每一个个体的素质来推动中国IT业的整体发展.代表作: ...

  8. Java课设之Swing学生信息管理系统(源码)

    前言: 这是我学java时,写的一个练手项目,主要用来巩固知识,还有很多地方并不完善,有很多不足之处,仅供参考. 另外,如果直接按着我的代码敲很可能会出现bug.这大概率时JDK或MySQL的版本问题 ...

  9. java swing 图层_Java swing图层的问题

    我想详细了解swing的多层图层知识,看下面两个代码为什么出来的效果是不一样的?importjavax.swing.*;importjava.awt.*;publicclassMycanvas1{pu ...

  10. java gui编程:swing创建窗体和进度条代码示例

    package com.zxl;import javax.swing.*; import java.awt.*; import javax.swing.event.ChangeEvent; impor ...

最新文章

  1. #软件配置管理#之坏味道搜集
  2. CF1338D:Nested Rubber Bands(树形dp)
  3. 华为将发布鲲鹏 920 芯片数据;三星 S10 自燃;Mageia 7 正式发布 | 极客头条
  4. android 程序界面美化,Android ROM定制——界面美化基础(framework-res、SystemUI修改)...
  5. 如何解决未能初始化战场服务器,microsoft net framework配置系统未能初始化
  6. (二)Excel函数应用之数学和三角函数
  7. 头文件中extern “C”的理解
  8. html表格上只有竖边框,html中画表格让表格只有横边框没有竖边框.doc
  9. Java将一个堆栈进行反转,如何使用Java中的堆栈反转数组的元素?
  10. (论文解读)High-frequency Component Helps Explain the Generalization of Convolutional Neural Networks
  11. 优酷视频kux格式转换为MP4的两种技巧
  12. shell脚本、awk、sed用法
  13. PCI/CA体系下使用USBkey实现认证与加密(一)整体架构
  14. 【手机投影】安卓手机投影到WIN10
  15. [转载]2012 年 4 月,rating排行榜
  16. SCU - 4437 Carries
  17. Flutter,Android,java现在又来了个国产鸿蒙,字节跳动Android面试
  18. SDWAN的技术流派:纯软型、资源型、设备型、广域网优化型
  19. 多个图片合并生成1个图片或1个pdf
  20. java web项目网上银行_网上银行java项目源代码(含最终文档)超棒!

热门文章

  1. 云计算与虚拟化的关系是什么?
  2. UG自定义工程图模板(一)
  3. UIUC云计算概念(chord)
  4. Epicor流水编号规则功能
  5. 做到这一点,帮你每年多赚10万!
  6. Java socket编程详解,TCPUDP实现
  7. 混沌世界里的临界点(博弈论的诡计)
  8. Debian下的搜狗拼音安装个人心得
  9. 离职前需要注意的事情?
  10. 汽车照明全国产化电子元件推荐方案