经常在开发过程中会需要一些动态的图片来使程序变得连惯.如果采用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开始加载由此媒体跟踪器跟踪的所有图像。在完成加载正在跟踪的全部图像之前,此方法一直等待。
如果在加载或缩放图像时出错,则该图像被视为已完成加载。使用 isErrorAny
或 isErrorID
方法检查错误。
加载完之后,我们就可以使用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(),这样当我们调用这样状态条时,就会显得比较快.
分享到:
相关推荐
Java在窗口上加载显示GIF动画图像,将多个独立的GIF图像串联在一起显示,形成GIF特有的动画形式。主要代码如下: ImageIcon[] images; //用于动画的图标数组 Timer animationTimer; int currentImage = 0;...
util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印一般格式是gif,png,这种图片可以设置透明度、水印旋转等,可以参考代码...
util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印一般格式是gif,png,这种图片可以设置透明度、水印旋转等,可以参考代码...
util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印一般格式是gif,png,这种图片可以设置透明度、水印旋转等,可以参考代码...
util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印一般格式是gif,png,这种图片可以设置透明度、水印旋转等,可以参考代码...
util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印一般格式是gif,png,这种图片可以设置透明度、水印旋转等,可以参考代码...
GIF动画制作工具 GiftedMotion GiftedMotion是一个很小的,免费而且易于使用图像互换格式动画是能够设计一个有趣的动画了一系列的数字图像。使用简便和直截了当,用户只需要加载的图片和调整帧您想要的,如位置,...
util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印一般格式是gif,png,这种图片可以设置透明度、水印旋转等,可以参考代码...
GIF动图色彩越简单相应生成的字符雨动画效果会越好 GIF动图色彩越简单相应生成的字符雨动画效果会越好 GIF动图色彩越简单相应生成的字符雨动画效果会越好 纯原创代码,如有问题,欢迎反应与指教。
前端gif加载动画,大部分透明背景,51种gif格式的loading图片,上传只为分享,导入即用,大神必备神器!
支持旋转和透明度设置 摘要:Java源码,文件操作,图片水印 util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印一般格式是gif,png,...
GIF动画制作工具 GiftedMotion GiftedMotion是一个很小的,免费而且易于使用图像互换格式动画是能够设计一个有趣的动画了一系列的数字图像。使用简便和直截了当,用户只需要加载的图片和调整帧您想要的,如位置,...
GIF动画制作工具 GiftedMotion GiftedMotion是一个很小的,免费而且易于使用图像互换格式动画是能够设计一个有趣的动画了一系列的数字图像。使用简便和直截了当,用户只需要加载的图片和调整帧您想要的,如位置,...
GIF动画制作工具 GiftedMotion GiftedMotion是一个很小的,免费而且易于使用图像互换格式动画是能够设计一个有趣的动画了一系列的数字图像。使用简便和直截了当,用户只需要加载的图片和调整帧您想要的,如位置,...
GIF动画制作工具 GiftedMotion GiftedMotion是一个很小的,免费而且易于使用图像互换格式动画是能够设计一个有趣的动画了一系列的数字图像。使用简便和直截了当,用户只需要加载的图片和调整帧您想要的,如位置,...
GIF动画制作工具 GiftedMotion GiftedMotion是一个很小的,免费而且易于使用图像互换格式动画是能够设计一个有趣的动画了一系列的数字图像。使用简便和直截了当,用户只需要加载的图片和调整帧您想要的,如位置,...
GIF动画制作工具 GiftedMotion GiftedMotion是一个很小的,免费而且易于使用图像互换格式动画是能够设计一个有趣的动画了一系列的数字图像。使用简便和直截了当,用户只需要加载的图片和调整帧您想要的,如位置,...
GIF动画制作工具 GiftedMotion GiftedMotion是一个很小的,免费而且易于使用图像互换格式动画是能够设计一个有趣的动画了一系列的数字图像。使用简便和直截了当,用户只需要加载的图片和调整帧您想要的,如位置,...
GIF动画制作工具 GiftedMotion GiftedMotion是一个很小的,免费而且易于使用图像互换格式动画是能够设计一个有趣的动画了一系列的数字图像。使用简便和直截了当,用户只需要加载的图片和调整帧您想要的,如位置,...
GIF动画制作工具 GiftedMotion GiftedMotion是一个很小的,免费而且易于使用图像互换格式动画是能够设计一个有趣的动画了一系列的数字图像。使用简便和直截了当,用户只需要加载的图片和调整帧您想要的,如位置,...