Pregunta

Tengo una aplicación Javafx muy simple.Debe dibujar una imagen que mantengo como PNG en el directorio "Recursos". Me inicializo así:

private final static Image customerImage;
static {
    Path imageLink = Paths.get("resources", "homeIcon.png");
    customerImage = new Image("file:"+imageLink.toString(),true);
}

Esto funciona bien cuando lo corro directamente de mi IDE.

Pero cuando implemento la aplicación como un paquete de Javafx y ejecute el JNLP resultante, el constructor de imagen lanza una conccontrolexception, específicamente:

java.security.AccessControlException: access denied ("java.util.PropertyPermission" "user.dir" "read")

que, si entiendo correctamente, significa que no tiene acceso a la búsqueda del archivo.¿Cómo debo resolver esto?También parece extraño que buscaría en un directorio cuando se desplegara como .jnpl, ¿debería colocar el archivo .png en otro lugar?

¿Fue útil?

Solución

customerImage = new Image("file:"+imageLink.toString(),true);

Probablemente no está formando una URL. Debe ser:

customerImage = new Image(imageLink.toURI().toURL().toString(),true);

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top