Hola: :-\
Estoy intentando cargar una imagen del directorio de los recursos para que luego no haya problemas con rutas erroneas y demás. El problema es que no puedo ponerle la ruta con estos metodos que utilizo porque me salta un error que dice "non-static method..."
public class DesktopApplication extends SingleFrameApplication {
@Override
protected void startup() {
show(new DesktopApplicationView(this));
}
@Override
protected void configureWindow(java.awt.Window root) {
}
public static DesktopApplication getApplication() {
return Application.getInstance(DesktopApplication4.class);
}
public static void main(String[] args) {
URL url = getClass().getResource("imagen.jpg");
//error: non-static method getClass() cannot be referenced from a static context
this.getClass().getResource("imagen.jpg");
//error: non-static variable this cannot be referenced from a static context
System.out.println(Toolkit.getDefaultToolkit().getImage("splash.jpg"));
//null
launch(DesktopApplication.class, args);
}
}
Lo que hago es intentar ver con system.out.println() las rutas de la imagen pero o son null, o no puedo ejecutar por lo de non-static... dependiendo de la linea que ponga.
Con qué línea te sale lo de non-static, por cierto, pon el error completo, supongo que será con la primera y es debido a que no creas ninguna instancia y no llamas al método desde ella.
vale, ya he puesto lo del error. Es que lo he puesto para simplificar pero me dejado unas cuantas cosas. Estoy haciendo una aplicacion de escritorio con el netbeans, una de los proyectos que te viene por defecto cuando creas una nueva aplicacion. El caso es que quiero añadirle un splashScreen para que salga mientras se va cargando la aplicacion. Si cargo la ruta desde una url de internet pues sin problemas. Pero cuando quiero setearle la ruta para que la coja de sus recursos... nada
Gracias, ya esta solucionado.
He escrito en la clase del splashScreen -->
image = Toolkit.getDefaultToolkit().getImage(getClass().getClassLoader().getResource("desktopapplication/resources/splashScreen.jpg"));
Y por ahora funciona bien :silbar: