2016-04-16 19 views
0

Ich bin ein Projekt zu machen und die FXML Gestaltung aber in einem Punkt habe ich mit diesem Fehler steckenScene Builder JavaFX Fehler beim Öffnen FXML Datei

Error for the path

Ich weiß nicht, wie sie konfigurieren

meine FXMLMain.fxml Code ist

<center> 
    <Pane fx:id="pneDashboard" prefHeight="320.0" prefWidth="800.0"> 
     <children> 
      <fx:include source="/javafxapplication1/TempratureTab/FXMLTempraturetab.fxml" /> 
     </children> 
    </Pane> 
</center> 

Dies ist die Hauptfehlerbeschreibung

Verursacht durch: java.io.FileNotFoundException: javafxapplication1 \ TempratureTab \ FXMLTempraturetab.fxml (Das System kann den angegebenen Pfad nicht finden können)

meine Paketstruktur ist

| ---> Quellcode-Paket

|--->javafxapplication1 

     |--->FXMLMain.fxml 

     |--->TempratureTab(folder) 

       |--->FXMLtempraturetab.fxml 

wenn mir jemand mit diesem

helfen könnte versucht haben, ich es sogar auf verschiedenen OS und verschiedene Netbeans IDE Versionen

Und die interessante Tatsache ist, dass es perfekt ...

im Bearbeitungsmodus führt er zeigt keine Fehler auf dieser Linie ..

nur in SceneBuilder.

+0

Sie sind in Ihrer Datei fehlt und importiert. Für einen einfacheren Arbeitsablauf könnten Sie die erste XML-Datei in der SceneBuilder-App entwerfen und dann ordnungsgemäß generierte Importe erhalten. So wurde es entwickelt, um XML-Syntaxfehler zu vermeiden. – tjago

+0

meine jede FXML-Datei wird durch NEW> Empty FXML und Und Importe sind alle muss ich das Paket auch importieren ... . –

Antwort

0

Nach this (fett ist du):

Der <fx:include> Tag erzeugt ein Objekt aus FXML Markup in einer anderen Datei definiert. Es wird wie folgt verwendet: <fx:include source="filename"/> Dabei ist Dateiname der Name der FXML-Datei, die eingeschlossen werden soll. Werte, die mit einem führenden Schrägstrichzeichen beginnen, werden als relativ zum Klassenpfad behandelt. Werte ohne führenden Schrägstrich werden relativ zum Pfad des aktuellen Dokuments berücksichtigt.

Wenn Sie die Anwendung, Ihr Projekt laufen offensichtlich in den Klassenpfad ist, und dies:

<fx:include source="/javafxapplication1/TempratureTab/FXMLTempraturetab.fxml" /> 

wird auf einen gültigen URL aufgelöst werden:

"file:/<full-path-of-your-project>/javafxapplication1/TempratureTab/FXMLTempraturetab.fxml" 

Aber wenn Sie öffnen Die FXML mit Scene Builder kennt Ihr Projekt nicht und kann es daher nicht zum Klassenpfad hinzufügen. den absoluten Pfad Der Versuch, einen java.io.FileNotFoundException werfen, da die FXMLLoader kann die Datei nicht finden, da es diesen Weg als löst:

"file:javafxapplication1/TempratureTab/FXMLTempraturetab.fxml" 

, die keine gültige URL ist.

Während sowohl relative als auch absolute Pfad der Arbeit, wenn die Anwendung ausgeführt wird, um von Scene Builder Ihre FXML Datei zu öffnen, müssen Sie einen relativen Pfad verwenden:?

<fx:include source="TempratureTab/FXMLTempraturetab.fxml" /> 
+0

Sorry @ José-Pereda. das hat nicht funktioniert ... ich den letzten Code Spinett versucht haben Ich habe sogar versucht, einschließlich Es hilft entweder does'nt ... –

+0

Sie don‘ t muss es importieren. Können Sie das Menü 'Datei-> Include-> FXML ...' verwenden? Durchsuchen und wählen Sie dann die FXML-Datei aus, die enthalten sein soll. Welche Scene Builder-Version verwendest du? –

+0

ich löste es endlich war es der Fehler von NetBeans ... –

Verwandte Themen