web-dev-qa-db-fra.com

Pourquoi Scenebuilder 2.0 n'ouvrirait-il pas mon fichier fxml?

J'ai un fichier fxml que j'ai créé à l'aide de SceneBuilder 2.0. Ce fichier est utilisé dans mon projet JavaFx que je développe à l'aide de Netbeans 8. Aujourd'hui, SceneBuilder a cessé de travailler avec mon fichier. Lorsque j'essayais de l'ouvrir, SceneBuilder minimisait et n'ouvrait pas le fichier. Je n'ai aucun composant personnalisé dans mon graphique de scène.

J'ai copié le contenu du fichier dans un nouveau fichier fxml et lui ai donné un nouveau nom. SceneBuilder a ensuite pu ouvrir ce fichier même si le contenu est identique au fichier qu'il ne peut pas ouvrir.

Qu'est-ce qui se passe ici?

mes excuses, mais je ne suis pas en mesure de publier le contenu du fichier fxml.

32
Justin Wiseman

D'accord .. alors je cherche la solution pour ce problème bizarre! Ne voyant aucune des autres réponses fonctionner pour moi, j'ai fait le plus de choses possibles auxquelles je pouvais penser et cela a fonctionné.

Open SceneBuilder (a brand new one). Go to File > Open Recent > Clear Menu. Close Scene Builder.

Maintenant, le bug devrait être corrigé (il l'a fait pour moi)

PS: J'ai honte de poster cette réponse. Mais comme il s'agit d'un méchant bug qui a fait perdre du temps, je ne veux pas que quelqu'un d'autre gaspille le leur.

PPS: De plus, je ne peux pas revérifier cette solution, car elle a fonctionné pour moi et je ne peux plus recréer le scénario du buggy.

100
sinujohn

J'ai résolu ce problème en faisant un alt-tabulation dans le programme SB, puis en maximisant la fenêtre (raccourci: touche fenêtre + touche flèche haut).

Semble être un bogue SB.

5
Richard Feng

A également eu ce problème avec Win 7. L'astuce consiste à cliquer avec le bouton droit sur l'icône de la barre des tâches SB, à agrandir la fenêtre, à la faire glisser vers le bas par la barre de titre et une vraie petite fenêtre devrait apparaître, redimensionner la fenêtre et cela devrait le faire. Je pense que c'est un bug d'affichage SB. Bonne chance.

2
Sam1am

J'ai eu le même problème. on dirait que c'est un bug.

Je l'ai résolu en créant un nouveau fichier FXML (vide) et en y copiant tout le code du fichier FXML d'origine. Le nouveau FXML ouvert par SceneBuilder.

2
user3718537

J'ai passé environ 4 heures et je l'ai résolu de cette façon. Dans mon document fxml, j'avais un FlowPane avec un </child> tag. Je l'ai changé en <child></child> et cela a fonctionné- SceneBuilder a ouvert le document fxml. Je sais que c'est super retardet et je ne peux pas expliquer pourquoi cela se produit, mais je peux reproduire cela ...

1
user6369315

Pour moi, le problème était avec le chemin de l'image que je donnais dans le fichier FXML. j'ai pu résoudre le problème en utilisant @ suivi du chemin de l'image. Avec cette erreur de syntaxe, vous pourrez exécuter votre application, mais le générateur de scène refusera d'ouvrir le fichier.

par exemple (en supposant que vous fournissez un chemin relatif):

Mauvaise syntaxe:

               <ImageView fitHeight="31.0" fitWidth="40.0" pickOnBounds="true" preserveRatio="true" >
                   <image>
                       <Image url="img/image.png"></Image>
                   </image>
               </ImageView>

Syntaxe correcte:

               <ImageView fitHeight="31.0" fitWidth="40.0" pickOnBounds="true" preserveRatio="true" >
                   <image>
                       <Image url="@/img/1000px-evobus.svg1.png"></Image>
                   </image>
               </ImageView>
1
Thonse

Dans NetBeans, accédez à Outils; Options; Java; JavaFX et définissez le chemin d'accès à l'accueil de Scene Builder. Cela devrait résoudre le problème

0
venkat