`
行者买刀
  • 浏览: 191536 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

java加载gif动画图片

    博客分类:
  • J2SE
阅读更多

  经常在开发过程中会需要一些动态的图片来使程序变得连惯.如果采用ImageIO加载图片的话只会加载gif图片中的一帧,采用Toolkit类就可以把它们全部加载进来.

示例:

  Image image  =Toolkit.getDefaultToolkit.createImage(当前类类名.class.getResource(图片所在位置));

 

如果图片过大,可能会出现延迟,为了防止这种情况发生我们可以在图片完全被加载进来之后才显示.

我们可以使用MediaTracker,这个类在开发游戏中会经常遇到.

 示例:

  MediaTracker mt = new MediaTracker(new JPanel());//new JPanel可以替换成当前的视图类

  mt.addImage(image,0);

  mt.waitForAll();

waitForAll开始加载由此媒体跟踪器跟踪的所有图像。在完成加载正在跟踪的全部图像之前,此方法一直等待。

如果在加载或缩放图像时出错,则该图像被视为已完成加载。使用 isErrorAnyisErrorID 方法检查错误。

加载完之后,我们就可以使用image.

附上一段简单的单例调用...

public class LoadSystemWaitting {
	private static LoadSystemWaitting loadSystemWaitting;
	private Image image;
	private JWindow jw;
	public static void main(String args[]){
		LoadSystemWaitting.getInstance(true);
	}
	public static void instanceInit(){
		if (loadSystemWaitting == null) {
			loadSystemWaitting = new LoadSystemWaitting();
		}
	}
	public static LoadSystemWaitting getInstance(boolean alwaysOnTop) {
		if (loadSystemWaitting == null) {
			loadSystemWaitting = new LoadSystemWaitting();
		}
		loadSystemWaitting.jw.setAlwaysOnTop(alwaysOnTop);
		loadSystemWaitting.setVisible(true);
		return loadSystemWaitting;
	}

	private JPanel getJPanel() {
		JPanel jp = new JPanel() {

			@Override
			protected void paintComponent(Graphics g) {
				// TODO Auto-generated method stub
				super.paintComponent(g);
				g.drawImage(image, 0, 0, this);
			}

		};
		return jp;
	}

	public static void closeWindow() {
		if (loadSystemWaitting != null) {
			loadSystemWaitting.setVisible(false);
		}
	}
	public void setVisible(boolean b){
		jw.setVisible(b);
	}


	private LoadSystemWaitting() {
		image = Toolkit.getDefaultToolkit().createImage(
				LoadSystemWaitting.class
						.getResource("/com/sbt/common/images/loadState.gif"));
		jw = new JWindow();
		jw.setSize(145, 15);
		jw.setLayout(new BorderLayout());
		jw.add(getJPanel(), BorderLayout.CENTER);
		jw.setLocationRelativeTo(null);
	}

}

 在程序开始之后我们可以先调用instanceInit(),这样当我们调用这样状态条时,就会显得比较快.

分享到:
评论
1 楼 itlangqun 2010-11-20  
http://space.itpub.net/13685345/viewspace-514315
更好的解决方案。

相关推荐

    Java在窗口上加载显示GIF动画图像.rar

    Java在窗口上加载显示GIF动画图像,将多个独立的GIF图像串联在一起显示,形成GIF特有的动画形式。主要代码如下:  ImageIcon[] images; //用于动画的图标数组  Timer animationTimer;  int currentImage = 0;...

    java源码包---java 源码 大量 实例

     util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印一般格式是gif,png,这种图片可以设置透明度、水印旋转等,可以参考代码...

    JAVA上百实例源码以及开源项目

     util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印一般格式是gif,png,这种图片可以设置透明度、水印旋转等,可以参考代码...

    JAVA上百实例源码以及开源项目源代码

     util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印一般格式是gif,png,这种图片可以设置透明度、水印旋转等,可以参考代码...

    java源码包4

     util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印一般格式是gif,png,这种图片可以设置透明度、水印旋转等,可以参考代码...

    java源码包3

     util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印一般格式是gif,png,这种图片可以设置透明度、水印旋转等,可以参考代码...

    java开源包5

    GIF动画制作工具 GiftedMotion GiftedMotion是一个很小的,免费而且易于使用图像互换格式动画是能够设计一个有趣的动画了一系列的数字图像。使用简便和直截了当,用户只需要加载的图片和调整帧您想要的,如位置,...

    java源码包2

     util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印一般格式是gif,png,这种图片可以设置透明度、水印旋转等,可以参考代码...

    字符雨+字符雨动态生成的动画,生成动画只需要简单的加载GIF动图既可生成

    GIF动图色彩越简单相应生成的字符雨动画效果会越好 GIF动图色彩越简单相应生成的字符雨动画效果会越好 GIF动图色彩越简单相应生成的字符雨动画效果会越好 纯原创代码,如有问题,欢迎反应与指教。

    loading动态加载图炫酷.7z

    前端gif加载动画,大部分透明背景,51种gif格式的loading图片,上传只为分享,导入即用,大神必备神器!

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    支持旋转和透明度设置 摘要:Java源码,文件操作,图片水印 util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印一般格式是gif,png,...

    java开源包4

    GIF动画制作工具 GiftedMotion GiftedMotion是一个很小的,免费而且易于使用图像互换格式动画是能够设计一个有趣的动画了一系列的数字图像。使用简便和直截了当,用户只需要加载的图片和调整帧您想要的,如位置,...

    java开源包11

    GIF动画制作工具 GiftedMotion GiftedMotion是一个很小的,免费而且易于使用图像互换格式动画是能够设计一个有趣的动画了一系列的数字图像。使用简便和直截了当,用户只需要加载的图片和调整帧您想要的,如位置,...

    java开源包6

    GIF动画制作工具 GiftedMotion GiftedMotion是一个很小的,免费而且易于使用图像互换格式动画是能够设计一个有趣的动画了一系列的数字图像。使用简便和直截了当,用户只需要加载的图片和调整帧您想要的,如位置,...

    java开源包101

    GIF动画制作工具 GiftedMotion GiftedMotion是一个很小的,免费而且易于使用图像互换格式动画是能够设计一个有趣的动画了一系列的数字图像。使用简便和直截了当,用户只需要加载的图片和调整帧您想要的,如位置,...

    java开源包9

    GIF动画制作工具 GiftedMotion GiftedMotion是一个很小的,免费而且易于使用图像互换格式动画是能够设计一个有趣的动画了一系列的数字图像。使用简便和直截了当,用户只需要加载的图片和调整帧您想要的,如位置,...

    java开源包8

    GIF动画制作工具 GiftedMotion GiftedMotion是一个很小的,免费而且易于使用图像互换格式动画是能够设计一个有趣的动画了一系列的数字图像。使用简便和直截了当,用户只需要加载的图片和调整帧您想要的,如位置,...

    java开源包10

    GIF动画制作工具 GiftedMotion GiftedMotion是一个很小的,免费而且易于使用图像互换格式动画是能够设计一个有趣的动画了一系列的数字图像。使用简便和直截了当,用户只需要加载的图片和调整帧您想要的,如位置,...

    java开源包3

    GIF动画制作工具 GiftedMotion GiftedMotion是一个很小的,免费而且易于使用图像互换格式动画是能够设计一个有趣的动画了一系列的数字图像。使用简便和直截了当,用户只需要加载的图片和调整帧您想要的,如位置,...

    java开源包1

    GIF动画制作工具 GiftedMotion GiftedMotion是一个很小的,免费而且易于使用图像互换格式动画是能够设计一个有趣的动画了一系列的数字图像。使用简便和直截了当,用户只需要加载的图片和调整帧您想要的,如位置,...

Global site tag (gtag.js) - Google Analytics