JavaFX Image ne montre pas au stade

J'ai essayé à plusieurs reprises et de plusieurs manières, mais je ne peux pas faire mon image show sur scène que je veux. Je pense que ça a à voir avec le chemin d'accès où java recherche des ressources, mais je ne suis pas sûr, puisque je viens juste de commencer à l'aide de visual bibliothèques (JavaFX dans ce cas). Voici ma structure de répertoire:

MyProject
 |_assets
 |  |_img
 |     |_myImage.jpg
 |
 |_some
 |_other
 |_folders
 |
 |_src
    |_ve
       |_org
          |_project
             |_MyProject.java
             |_StratPage.fxml
             |_StartPageController.java

J'ai besoin de récupérer myImage.jpg être rendu, et j'ai essayé le suivant:

1) Pur fxml approche:

<ImageView
     id="logo" 
     fx:id="logo"
     fitHeight="99.0" 
     fitWidth="99.0" 
     layoutX="14.0" 
     layoutY="18.0" 
     pickOnBounds="true" 
     preserveRatio="true">
         <image>
            <Image url="@../../../../assets/img/myImage.jpg" />
         </image>
</ImageView>

2) en Utilisant les deux fxml et java. Déclarant la ImageView élément avec fx:id="logo", et d'injecter de l'image de StartPageController.java comme ceci:

public class StartPageController implements Initializable {

    @FXML
    private ImageView logo;


    @Override
    public void initialize(URL url, ResourceBundle rb) {
        this.logo = new ImageView("file:../../../../assets/img/myImage.jpg");
    }    

}

Ni la façon de produire aucune exception, je viens juste de ne pas afficher l'image. Je n'ai aucune idée de quoi faire. Je serais vraiment reconnaissant de votre aide.

MISES à jour:

Première

J'ai essayé de les abandonner ayant le projet de structure de répertoire, et placé le fichier image dans le même dossier de StartPageController.java. En faisant

logo = new ImageView(new Image(getClass().getResourceAsStream("myImage.jpg")))

Je ne suis pas une exception, mais l'image n'est pas rendu, qui me suggère, il n'est pas sur la recherche de la ressource, mais sur le rendu de l'image. Pourrait-il être le manque de n'importe quelle bibliothèque? Je suis sur un environnement de Windows 8, à l'aide de Netbeans 8.0. Merci encore pour vos réponses.

Deuxième

J'ai juste désactivé l'emballage et la distribution de l'application dans les propriétés du projet dans Netbeans. Désormais, les images sont rendu correctement, mais je ne considère pas le problème résolu, puisque quand j'ai besoin de distribuer le logiciel, il sera de nouveau émerger. S'il vous plaît, l'aide est toujours nécessaire! 🙂

Pouvez-vous essayer avec this.logo = new ImageView("/assets/img/myImage.jpg");? Qui devrait démarrer à la recherche de la racine de votre dossier.
Essayé this.logo = new ImageView("/assets/img/myImage.jpg");, et a déclenché une Exception. Preppended file:, comme ceci: this.logo = new ImageView("file:/assets/img/myImage.jpg"); et se sont comportés comme mentionné dans la question. Il ne jette pas exception, mais les charges de l'application correctement à l'exception de l'image qui ne s'affiche pas. Une autre idée? Merci pour votre aide 🙂

OriginalL'auteur Throoze | 2014-06-17