IllegalArgumentException: input == null

…aber input ist nicht null, das ist das Problem, wenn ich ein BufferedImage laden will.
Socius.java liegt im verzeichnis c:/Java/Socius/src/Java/Soc/
Die Bilder im Verzeichnis c:/Java/Socius/src/Java/Soc/textures/animation/

package Java.Soc;

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.util.ListIterator;
import java.util.Vector;

import javax.imageio.ImageIO;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class Socius extends JPanel implements Runnable, MouseListener{
	
	public static void main(String[] args){
		new Socius(800, 600);
	}
    
	JFrame f;
	Thread t;
	BufferedImage[] laf;
	Sprite spieler;
	Vector<Sprite> actors;
	Vector<Sprite> painter;
	long delta    = 0;
	long last     = 0;
	long fps      = 0;
	int klickx;
	int klicky;
	String FPS =  "FPS: "+Long.toString(fps);
	private int spPosaktX;
	private int spPosaktY;
	private boolean klick;
	
	
	private static final long serialVersionUID = 1L;
	
	Socius(int w, int h){
	    this.setPreferredSize(new Dimension(w,h));
	    this.setBackground(Color.BLACK);
	    f = new JFrame("Socius");
	    f.setLocation(100,100);
	    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	    f.add(this);
	    f.setBackground(Color.BLACK);
	    f.pack();
	    f.setVisible(true);
		t = new Thread(this);
		f.addMouseListener(this);
		t.start();
		laden();
	}
	
	

	private void laden() {
		
		actors = new Vector<Sprite>();
		painter = new Vector<Sprite>();
		laf = new BufferedImage[2];
			try {
				laf[0] = ImageIO.read(Socius.class.getResource("textures/animation/a1.png"));
				laf[1] = ImageIO.read(Socius.class.getResource("textures/animation/a2.png"));
				laf[2] = ImageIO.read(Socius.class.getResource("textures/animation/a3.png"));
			} catch (IOException e) {
				
				e.printStackTrace();
			}
		
		spieler = new Sprite(laf, 500, 300, 100, this);
		actors.add(spieler);
	}



	@Override
	public void run() {
    while(f.isVisible()){
    	doLogic();
    	bewegen();
    	cloneVectors();
    	computeDelta();
    	if(klick){
        	checkKlicks();	
    	}

    	System.out.println(FPS);
    	try{
    		Thread.sleep(1000);
    	} catch(InterruptedException ie){
    		System.out.println(ie);
    	}
    }


		
	}
	
	private void checkKlicks() {
		spPosaktX = spPosaktX + 50;
		spPosaktY = spPosaktY + 50;
		 System.out.println(klickx + "  " + klicky);
		klick = false;
	}



	@SuppressWarnings("unchecked")
	private void cloneVectors() {
		painter = (Vector<Sprite>) actors.clone();
		
	}



	private void bewegen() {
	    for(ListIterator<Sprite> it = actors.listIterator();it.hasNext();){
	        Sprite r = it.next();
	        r.move(delta);
	    }
		
	}

	@Override
	protected void paintComponent(Graphics g){

	    for(ListIterator<Sprite> it = painter.listIterator();it.hasNext();){
	        Sprite r = it.next();
	        r.drawObjects(g, spPosaktX, spPosaktY);
	    }
	}

	private void computeDelta() {
		  delta = System.nanoTime() - last;
		    last = System.nanoTime();
		    fps = ((long) 1e9)/delta;
		
	}

	private void doLogic() {
	    for(ListIterator<Sprite> it = actors.listIterator();it.hasNext();){
	        Sprite r = it.next();
	        r.doLogic(delta);
	    }
		
	}
	
		@Override
		public void mouseClicked(MouseEvent e) {
			 klickx = e.getX();
			 klicky = e.getY();
             klick = true;

		}

		@Override
		public void mouseEntered(MouseEvent arg0) {

		}

		@Override
		public void mouseExited(MouseEvent arg0) {

		}

		@Override
		public void mousePressed(MouseEvent arg0) {

		}

		@Override
		public void mouseReleased(MouseEvent arg0) {

		}

	}

Danke für eure Hilfe!

Back to the roots :wink:
Und wo liegen die .class-Dateien? Die Texturen müßten im gleichen „GRUND“-Verzeichnis liegen, wie die classes, etwa so:


C:\Workspace\Project\src\package\subpackage <- Da liegt die Socius.java drin
C:\Workspace\Project\classes\package\subpackage <- Da liegt die Socius.class drin
C:\Workspace\Project\classes	extures\animation\ <- Da liegen die Bilder drin

Ahh, das wars Eclipse packt die class-Dateien in ein seperates Verzeichnis.
Danke für den Tipp.