Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
for (int i=0;i<7 ;i++ ) {
for (int j=0;j<10 ;j++ ) {
for (int k=0;k<10 ;k++ ) {
try {
image[f] = ImageIO.read(new File("Pfad"+i+j+k+".jpg"));
System.out.println("Geladen: "+i+","+j+","+k);
for (int f=0;f<650;f++){
ImageIcon iconArray[f] = new ImageIcon(image[f]);
}
Das ImageIcon vor iconArray[f] muss weg.
ImageIcon iconArray[f] = new ImageIcon(image[f]);
=> iconArray[f] = new ImageIcon(image[f]);
Auf jeden Fall musst du halt genauso wie image[] auch iconArray[] in der Klasse
als Variable definieren.
Aber abgesehen davon bringt es dir ja nichts alle Bilder in einer ForSchleife durchzulaufen.
Eine Animation entsteht ja nur durch das Anzeigen verschiedener Frames zu verschiedenen
Zeitpunkten - die Forschleife würde viel zu schnell durch alle Bilder durchrattern,
sodass man immer nur das letzte Bild am Bildschirm sieht.
Deshalb reicht es genau 1 Bild nämlich das aktuelle anzeigen über einen Index,
zb so:
Java:
private Timer timer;
private int animation=0;
private int maxFrames;
public void startAnimation(int fps)
{
timer=new Timer();
timer.schedule(new AnimationDelay(),0,1000/fps);
}
public void paint(Graphic g)
{
g.drawImage(image[animation],x,y,null);
}
private class AnimationDelay extends TimerTask
{
public void run()
{
animation++;
if(animation>=maxFrames)
{
animation=0;
}
}
}
Mit dem Beispiel würde jetzt über ein Timer die Animationsgeschwindigkeit gesteurt werden,
und währenddessen einfach immer nur das aktuelle Frame der Animation angezeigt.
Daher muss nur der ArrayIndex mit der passenden Geschwindigkeit hochgezählt werden.
Und für was genau willst du die Bilder in ein ImageIcon umwandeln?