我有很大的麻烦,加载一个简单的.gif注意像下面的代码使用图片图标上可以加载一个.gif
package etc_ejmp;
/*
* Fig 21.2 AnimadorLogoJPanel.java
* Animacion de una serie de imagenes*/
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.Graphics;
import javax.swing.ImageIcon;
import javax.swing.JPanel;
import javax.swing.Timer;
public class FIG21_2_AnimadorLogoJPanel extends JPanel{
private final static String NOMBRE_IMAGEN ="deitel";// nombre de la imagen
protected ImageIcon imagenes[];// arreglo de imagenes
private final int TOTAL_IMAGENES=30;// numero de imagenes
private int imagenActual =0;// indice de la imagen actual
private final int RETRASO_ANIMACION=50;// retraso en milisegundos
private int anchura;
private int altura;
private Timer temporizadosAnimacion;
public FIG21_2_AnimadorLogoJPanel(){
imagenes = new ImageIcon[TOTAL_IMAGENES];
// carga 30 imagenes
for(int cuenta=0;cuenta<imagenes.length; cuenta++){
imagenes[ cuenta ] = new ImageIcon(getClass().getResource(
NOMBRE_IMAGEN + cuenta + ".gif"));
}
anchura=imagenes[0].getIconWidth();
altura=imagenes[0].getIconHeight();
}
}
我与
imagenes[ cuenta ] = new ImageIcon(getClass().getResource("deitel0.gif")); // nothing
imagenes[ cuenta ] = new ImageIcon(getClass().getResource("deitel.gif")); // nothing
尝试,但它只能工作巴纽。另外,如果我尝试使用字符串内部的数字,例如“hello01.gif/.png”--ERROR
错误是;
Exception in thread "main" java.lang.NullPointerException at
javax.swing.ImageIcon.<init>(Unknown Source) at
etc_ejmp.FIG21_2_AnimadorLogoJPanel.<init>(FIG21_2_AnimadorLogoJPanel.java:29) at
com.ejercDietel.llamada.llamada_cap21_ejemplos.FIG21_2_AnimadorLogoJPanel(llamada_cap21_ejemplos.java:13) at
com.ejercDietel.llamada.EXECAP21.<init>(EXECAP21.java:9) at
llamadas.CallCap21(llamadas.java:222) at
InicioSistemaPruebas.main(InicioSistemaPruebas.java:67)
我不知道我错过了什么,它就像编译器没有发现名为.gif格式也与文件名称数量图像。
图像的名称是
deitel0.gif
deitel1.gif
deitel10.gif
deitel11.gif
deitel12.gif
deitel13.gif
deitel14.gif
deitel15.gif
deitel16.gif
deitel17.gif
deitel18.gif
deitel19.gif
deitel2.gif
deitel20.gif
deitel21.gif
deitel22.gif
deitel23.gif
deitel24.gif
deitel25.gif
deitel26.gif
deitel27.gif
deitel28.gif
deitel29.gif
deitel3.gif
deitel4.gif
deitel5.gif
deitel6.gif
deitel7.gif
deitel8.gif
deitel9.gif
*“这就像编译器看不到图像”*编译器从不查找图像。这是必须产生信息的运行时间。 – 2014-08-30 02:03:15
什么是图像文件的实际名称?我不知道你是否需要为你的字符串做一些填充。 – 2014-08-30 02:03:43
1)顺便说一下:在部署时,这些可能会变成一个[tag:embedded-resource],它必须由'URL'而不是'File'来访问。 2)请参阅[什么是堆栈跟踪,以及如何使用它来调试我的应用程序错误?](http://stackoverflow.com/q/3988788/418556)&[什么是NullPointerException,以及如何解决它?](http://stackoverflow.com/q/218384/418556) – 2014-08-30 02:06:40