Heim  >  Artikel  >  Java  >  Wie verweise ich auf FXML-Dateien im JavaFX-Ressourcenordner?

Wie verweise ich auf FXML-Dateien im JavaFX-Ressourcenordner?

Barbara Streisand
Barbara StreisandOriginal
2024-11-21 04:32:11859Durchsuche

How to Reference FXML Files in JavaFX Resource Folder?

Referenzieren von FXML-Dateien im JavaFX-Ressourcenordner

Beim Erstellen einer JavaFX-GUI-Anwendung kann es erforderlich sein, FXML-Dateien innerhalb von Controllern zu referenzieren. Um dies effektiv zu tun, ist es wichtig, Folgendes zu berücksichtigen:

Generische Ressourcensuche:

Das Verweisen auf FXML-Dateien ist Teil des generischen Ressourcensuchprozesses in Java. Wenn das aufrufende Programm den Ressourcenstandort an den FXMLLoader übergibt, erfolgt die Ressourcensuche selbst im Anwendungscode und nicht im FXMLLoader.

Beispielhafte Ressourcensuche:

Zum Laden Wenn Sie eine FXML-Datei mithilfe einer Ressourcensuche erstellen möchten, beachten Sie Folgendes:

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

Ressourcenstandort Lösung:

Es gibt drei Optionen zum Auflösen von Ressourcenstandorten:

  1. Platzieren Sie alle FXML-Dateien im Verzeichnis src/main/resources:
loader.setLocation(getClass().getResource("/main.fxml"));
  1. Platzieren Sie alle FXML-Dateien in einem src/main/resources/fxml Verzeichnis:
loader.setLocation(getClass().getResource("/fxml/main.fxml"));
  1. FXML-Dateien im entsprechenden Ressourcenverzeichnis ablegen:
loader.setLocation(getClass().getResource("main.fxml"));

Im letzten Ansatz sollte sich die Ladeklasse in befinden die gleiche relative Position in der Java-Quellhierarchie wie die FXML-Datei.

FXMLLoader-Verwendung Empfehlungen:

  • Instanziieren Sie FXMLLoader über das neue FXMLLoader() statt über statische Methoden.
  • Legen Sie den Speicherort auf dem instanziierten FXMLLoader fest und verwenden Sie Load(), anstatt aus einem Stream zu laden .
  • Verwenden Sie getClass().getResource() zum Ableiten von Standorten basierend auf einer Klasse, so wie sie ist URL-basiert.

IDE- und Build-Einstellungen:

Stellen Sie sicher, dass die FXML-Dateien während der Kompilierung oder IDE aus dem Ressourcenverzeichnis in das Build-Ausgabeverzeichnis kopiert werden Nutzung.

Java Jigsaw Modular Applications:

Bei der Arbeit mit modularen Anwendungen sollten Ressourcen vorhanden sein Der Zugriff erfolgt über:

ComboBoxStyling.class.getResource("/css/styleclass.css");

statt:

ComboBoxStyling.class.getClassLoader().getResource("/css/styleclass.css");

Das obige ist der detaillierte Inhalt vonWie verweise ich auf FXML-Dateien im JavaFX-Ressourcenordner?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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