Dies ist meine erste Post auf Stack, ich suchte nach Antworten auf meine Frage, aber ich habe nichts nützliches gefunden. Ich lerne Java, also sei sanft;)Wie zu laden FXML-Datei, die aus * .jar Datei ist
Mein Problem ist, dass ich nicht eine Datei mit allem in "jar" machen will. Ich muss die FXML-Datei laden, die sich außerhalb der * .jar-Datei befindet. Zum Beispiel: Ich mache FXML-Datei, die in meinem JavaFXMLApplication-Ordner ist, ich führe "JavaFXApplication.jar" -Datei und diese Anwendung verwenden FXML, die ich gerade gemacht habe.
Ich hoffe, ich beschreibe es klar :)
EDIT: Ich habe eine andere Lösung gefunden, die für mich besser funktioniert ...
File file = new File("absolutPathToFile\\FXMLDocument.fxml");
InputStream is = new BufferedInputStream(new FileInputStream(file));
Pane root = new Pane();
FXMLLoader loader = new FXMLLoader();
try
{
root = loader.load(is);
}
catch (IOException ex)
{
System.out.println(ex);
}
ich es hoffe, dass jemand helfen
Prost :)
Ich denke, die Frage will die fxml aus dem Glas und nicht als separate Datei (in diesem Fall [getResource()] (http holen: // Stackoverflow. com/a/19603055/1155209) wäre ein anwendbareres Beispiel). – jewelsea
Hmm beim nochmaligen Lesen der Frage, vielleicht habe ich es falsch interpretiert und der Fragesteller möchte tatsächlich eine fxml-Datei laden, die nicht im Jar ist. Stackoverflow lässt mich den Downvote nicht umkehren :( – jewelsea
Ich erhalte Ausnahmen, wenn ich so etwas verwendet habe: Datei Datei = neue Datei ("../../ FXMLDocument.fxml"); String url = file. toURI(). toURL(). toExternalForm(); Bereich root = FXMLLoader.load (getClass(). getResource (url)); Was mache ich falsch? – Regemaster