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

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

Barbara Streisand
Freigeben: 2024-11-21 04:32:11
Original
910 Leute haben es durchsucht

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();
Nach dem Login kopieren

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"));
Nach dem Login kopieren
  1. Platzieren Sie alle FXML-Dateien in einem src/main/resources/fxml Verzeichnis:
loader.setLocation(getClass().getResource("/fxml/main.fxml"));
Nach dem Login kopieren
  1. FXML-Dateien im entsprechenden Ressourcenverzeichnis ablegen:
loader.setLocation(getClass().getResource("main.fxml"));
Nach dem Login kopieren

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");
Nach dem Login kopieren

statt:

ComboBoxStyling.class.getClassLoader().getResource("/css/styleclass.css");
Nach dem Login kopieren

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!

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