NullPointerException being thrown
<p>i have the following source code: </p>

<pre><code>package controlador;

import java.awt.image.BufferedImage;
import java.io.IOException;
import java.net.URL;
import java.util.ArrayList;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.imageio.ImageIO;

public class Sprite {
    public ArrayList&lt;BufferedImage&gt; PosicionesJugador;        
    public int fuerza;
    public BufferedImage imagenSprite;
    String rutaSprite;
    public int reputacion;
    public int x ;
    public int y ;
    public String nombre;
    public String escenario;

    public Sprite(String nombre, String escenario, int fuerza, String rutaSprite){
        this.nombre=nombre;
        this.escenario=escenario;        
        this.fuerza=fuerza;
        this.rutaSprite=rutaSprite;

        try {
            imagenSprite=cargarSprite(rutaSprite);
        } catch (IOException ex) {
            Logger.getLogger(Sprite.class.getName()).log(Level.SEVERE, null, ex);
        }        
        posicionarJugador(escenario);
        recortarBufferedImage();                
    }

    public BufferedImage cargarSprite(String rutaSprite) throws IOException {
        System.out.println(rutaSprite);
        URL url = this.getClass().getResource(rutaSprite);
        BufferedImage img = ImageIO.read(url);
        return img;
    }

     public final BufferedImage recortarSprite(int x, int y, int width, int height){
        System.out.println(imagenSprite.getHeight());
        System.out.println(imagenSprite.getWidth());
        BufferedImage sprite = imagenSprite.getSubimage(0,0,100,100);
        return sprite;
    }

     public void recortarBufferedImage(){
                 PosicionesJugador.add(recortarSprite(7, 31, 25, 33));//abajo
                 PosicionesJugador.add(recortarSprite(7, 64, 25, 33));//Izquierda
                 PosicionesJugador.add(recortarSprite(7, 95, 25, 33));//Derecha
                 PosicionesJugador.add(recortarSprite(7, 127, 25, 33));//Arriba  
     }

     public void posicionarJugador(String escenario){
        switch(escenario){
            case "escenario_nivel_1":                    
                        x=400;
                        y=240;                    
                break;
            case "escenario_nivel_2": 
                        x=400;
                        y=240;
                break;
        }
    }

    public ArrayList&lt;BufferedImage&gt; getPosicionesJugador() {
        return PosicionesJugador;
    }

    public void setPosicionesJugador(ArrayList&lt;BufferedImage&gt; PosicionesJugador) {
        this.PosicionesJugador = PosicionesJugador;
    }

    public int getFuerza() {
        return fuerza;
    }

    public void setFuerza(int fuerza) {
        this.fuerza = fuerza;
    }

    public BufferedImage getImagenSprite() {
        return imagenSprite;
    }

    public void setImagenSprite(BufferedImage imagenSprite) {
        this.imagenSprite = imagenSprite;
    }

    public String getRutaSprite() {
        return rutaSprite;
    }

    public void setRutaSprite(String rutaSprite) {
        this.rutaSprite = rutaSprite;
    }

    public int getReputacion() {
        return reputacion;
    }

    public void setReputacion(int reputacion) {
        this.reputacion = reputacion;
    }

    public int getX() {
        return x;
    }

    public void setX(int x) {
        this.x = x;
    }

    public int getY() {
        return y;
    }

    public void setY(int y) {
        this.y = y;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public String getEscenario() {
        return escenario;
    }

    public void setEscenario(String escenario) {
        this.escenario = escenario;
    }


}
</code></pre>

<p>the image is loaded correctly, because I can print the height and the width of the image so I don't know why I get the follow output:</p>

<pre><code>../sprite.png
162
315
Exception in thread "Thread-2" java.lang.NullPointerException


    at controlador.Sprite.iniciarPosicionesSprite(Sprite.java:53)
    at controlador.Sprite.&lt;init&gt;(Sprite.java:35)
    at vista.VentanaJuego.cargarGraficos(VentanaJuego.java:43)
    at vista.VentanaJuego.&lt;init&gt;(VentanaJuego.java:37)
    at vista.VentanaDeCarga.run(VentanaDeCarga.java:74)
    at java.lang.Thread.run(Thread.java:722)
BUILD SUCCESSFUL (total time: 2 seconds)
</code></pre>
