2013-02-03 6 views
1

J'ai un petit projet de test utilisant graniteds + javafx + spring. J'ai suivi ce tutoriel GraniteDs+JavaFx.Emplacement de la base granitée non défini avec TideFXMLLoader

Tout fonctionne très bien, mais si j'utilise un fichier FXML dans lequel j'ai quelques images avec l'URL relative comme dans cet exemple:

<children> 
    <ImageView fitHeight="32.0" fitWidth="32.0" layoutX="14.0" layoutY="14.0" onMouseClicked="#menuHome" pickOnBounds="true" preserveRatio="true"> 
     <image> 
     <Image url="@../images/icons/home.png" /> 
     </image> 
    </ImageView> 

J'ai ce Execption:

SEVERE: Could not show view 
javafx.fxml.LoadException: Base location is undefined. 
    at javafx.fxml.FXMLLoader$Element.processPropertyAttribute(FXMLLoader.java:283) 
    at javafx.fxml.FXMLLoader$Element.processInstancePropertyAttributes(FXMLLoader.java:197) 
    at javafx.fxml.FXMLLoader$ValueElement.processStartElement(FXMLLoader.java:570) 
    at javafx.fxml.FXMLLoader.processStartElement(FXMLLoader.java:2314) 
    at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2131) 
    at org.granite.client.tide.javafx.TideFXMLLoader.load(TideFXMLLoader.java:49) 

Le code que la charge de la FXML est la suivante:

Il y a un moyen de définir l'emplacement de base avec TideFXMLLoader?

Merci

Répondre

2

Je sais que cette demande est un peu vieux et vous avez eu probablement résolu d'une certaine façon. Mais je l'ai résolu en mettant le code suivant avant de charger fxml:

loader.setLocation (Class.class.getResource (url));

Espérons que cela aide

Questions connexes