Heim > Java > javaLernprogramm > Wie verweise ich auf JavaFX-FXML-Dateien, die im Ordner „src/main/resources' gespeichert sind?

Wie verweise ich auf JavaFX-FXML-Dateien, die im Ordner „src/main/resources' gespeichert sind?

Mary-Kate Olsen
Freigeben: 2024-11-21 00:41:12
Original
835 Leute haben es durchsucht

How do I reference JavaFX FXML files stored in the `src/main/resources` folder?

Referenzieren von JavaFX-FXML-Dateien in Ressourcenordnern

Beim Erstellen von JavaFX-GUI-Anwendungen müssen Sie häufig auf FXML-Dateien zugreifen, die im Ordner src/main/resources gespeichert sind. Dazu können Sie die Methode FXMLLoader.load() verwenden, wie Sie in Ihrer Frage erwähnt haben.

Generische Ressourcen-Suchinformationen

JavaFX FXML-Dateisuche ist Teil des generischen Ressourcen-Suchprozesses in Java. Der Ressourcenstandort wird als Eingabe an den FXMLLoader übergeben. Daher ist die Ressourcensuche Teil Ihres Anwendungscodes und nicht der FXMLLoader selbst.

Ausführliche Informationen zur Ressourcensuche für JavaFX-Anwendungen finden Sie unter:

  • [Bestimmen des richtigen Pfads für FXML, CSS, Bilder und andere Ressourcen](https://stackoverflow.com/a/33169100/17772320)
  • [Wo Ressourcendateien in JavaFX abgelegt werden sollen](https://edencoding.com/ where-to-put-resource-files-in-javafx/)

Beispielverwendung

FXMLLoader loader = new FXMLLoader();
loader.setLocation(getClass().getResource("/main.fxml"));
Parent content = loader.load();
Nach dem Login kopieren

Optionen zur Standortauflösung

Es gibt mehrere Möglichkeiten zur Auflösung der Speicherort der FXML-Datei:

  1. Platzieren Sie alle FXML-Dateien im Verzeichnis src/main/resources:

    • loader.setLocation(getClass().getResource(" /main.fxml"));
  2. Erstellen Sie ein dediziertes src/main/resources/fxml-Verzeichnis für FXML-Dateien:

    • loader.setLocation (getClass().getResource("/fxml/main.fxml"));
  3. Platzieren Sie FXML-Dateien in einem entsprechenden Ressourcenverzeichnis, das die Java-Quellhierarchie widerspiegelt:

    • src/main/resources/com/mycompany/myapp:
    • loader.setLocation(getClass().getResource("main.fxml"));

Empfehlungen zur FXMLLoader-Nutzung

  • Instanziieren Sie einen FXMLLoader über new FXMLLoader(), nicht über die statischen Methoden.
  • Legen Sie den Speicherort auf dem FXMLLoader fest und verwenden Sie Load( ) anstatt aus einem Stream zu laden.
  • Verwenden Sie getClass().getResource(), um einen URL-basierten Speicherort für Klassen abzuleiten.

IDE- und Build-Einstellungen

Stellen Sie sicher, dass Ihre IDE oder Ihr Build-Tool FXML-Dateien aus dem Ressourcenverzeichnis in das Build-Ausgabeverzeichnis kopiert. Informationen zu Intellij-Einstellungen finden Sie unter:

  • [So konvertieren Sie ein normales Java-Projekt in ein JavaFX-Projekt in Intellij](https://dzone.com/articles/how-to-convert-a-normal -java-project-into-a-javafx-1)

Modulare Java Jigsaw-Anwendungen

Seien Sie in modularen Java-Anwendungen vorsichtig bei der Ressourcensuche mithilfe von Klassenladern. Greifen Sie stattdessen direkt aus der Klasse auf Ressourcen zu:

  • Richtig: ComboBoxStyling.class.getResource("/css/styleclass.css");
  • Falsch: ComboBoxStyling.class.getClassLoader( ).getResource("/css/styleclass.css");

Das obige ist der detaillierte Inhalt vonWie verweise ich auf JavaFX-FXML-Dateien, die im Ordner „src/main/resources' gespeichert sind?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage