Zugriff auf FXML-Dateien in Maven JavaFX-Projekten
In JavaFX-Anwendungen ist die Referenzierung von FXML-Dateien von Controllern von entscheidender Bedeutung. Wenn Sie Ihr Projekt mit Maven strukturieren, ist es wichtig, den Speicherort Ihrer FXML-Dateien im Ressourcenordner zu berücksichtigen.
Ressourcensuche in Java
Bevor Sie sich mit der spezifischen Lösung befassen , ist es erwähnenswert, dass die FXML-Dateisuche eine Art generische Ressourcensuchaufgabe in Java ist. Der FXMLLoader verwendet den Ressourcenstandort als Eingabe, sodass die Suche selbst in Ihrem aufrufenden Anwendungscode erfolgt.
Optionen für die FXML-Standortauflösung
Es gibt mehrere Möglichkeiten, Ihren zu strukturieren FXML-Dateien und lösen Sie ihre Speicherorte auf:
Platzieren Sie FXML-Dateien im src/main/resources-Verzeichnis:
loader.setLocation(getClass().getResource("/main.fxml"));
Legen Sie FXML-Dateien in ein src/main/resources/fxml-Verzeichnis:
loader.setLocation(getClass().getResource("/fxml/main.fxml"));
Platzieren Sie FXML-Dateien in einer entsprechenden Ressource Verzeichnis:
loader.setLocation(getClass().getResource("main.fxml"));
Dabei wird davon ausgegangen, dass sich die Klasse, die das FXML-Laden ausführt, in der entsprechenden Java-Quellhierarchie befindet.
Empfehlungen zur FXMLLoader-Nutzung
Für optimale Ergebnisse wird es empfohlen um:
IDE- und Build-Einstellungen
Stellen Sie sicher, dass Ihre IDE oder Ihr Build-Tool FXML-Dateien aus dem Ressourcenordner in den Build kopiert Ausgabeverzeichnis.
Java Jigsaw Modular Applications
Für modulare Anwendungen, die mit Java erstellt wurden Jigsaw, verwenden Sie die Klasse, um Ressourcen direkt anstelle des Klassenladers abzurufen:
ComboBoxStyling.class .getResource("/css/styleclass.css");
Indem Sie diese Richtlinien befolgen, können Sie Ihre FXML-Dateien in Ihren JavaFX Maven-Projektcontrollern effektiv referenzieren.
Das obige ist der detaillierte Inhalt vonWie greife ich in Maven-basierten JavaFX-Projekten auf FXML-Dateien zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!