Bagaimana untuk Mencari Fail FXML dalam Projek Maven?
Nov 18, 2024 pm 09:03 PMMerujuk Fail FXML daripada Projek Maven
Dalam aplikasi JavaFX anda, anda bertujuan untuk memuatkan fail FXML daripada folder sumber menggunakan kod seperti:
FXMLLoader.load(getClass().getResource("main.fxml"));
Semasa folder sumber anda berada dalam laluan binaan, anda menghadapi ralat. Untuk menyelesaikan masalah ini, mari kita terokai pilihan untuk mencari fail FXML.
Pencarian Sumber Generik dalam Java/JavaFX
Ingat bahawa carian lokasi fail FXML ialah subset carian sumber generik di Java. Fail sumber (termasuk fail FXML) ditentukan secara relatif kepada laluan kelas anda. Untuk panduan komprehensif, rujuk:
- JavaFX Resource Lookup: https://javafx-docs.github.io/javafx-docs/javafx/2.2/resources/resource_lookup.htm
- Panduan Eden: https://edencoding.com/javafx-resource-files
Contoh Penggunaan
Coretan kod berikut menunjukkan pemuatan fail FXML:
FXMLLoader loader = new FXMLLoader(); loader.setLocation(getClass().getResource("/main.fxml")); Parent content = loader.load();
Lokasi Pilihan Resolusi
Terdapat beberapa pilihan untuk menentukan lokasi fail FXML dalam folder sumber anda:
1. Letakkan semua fail FXML dalam src/main/resources:
loader.setLocation(getClass().getResource("/main.fxml"));
2. Letakkan fail FXML dalam src/main/resources/fxml:
loader.setLocation(getClass().getResource("/fxml/main.fxml"));
3. Letakkan fail FXML dalam direktori sumber yang sepadan:
Dengan mengandaikan kelas anda memuatkan FXML berada dalam src/main/java/com/mycompany/myapp, anda boleh meletakkan fail FXML dalam:
src/main/resources/com/mycompany/myapp/main.fxml
Dan muatkannya menggunakan:
loader.setLocation(getClass().getResource("main.fxml"));
Penggunaan FXMLLoader Pengesyoran
- Segerakan FXMLLoader melalui FXMLLoader(), bukan kaedah statik.
- Tetapkan lokasi pada FXMLLoader yang disegerakan dan beban panggilan(), bukannya memuatkan daripada strim.
- Gunakan getClass().getResource() untuk memperoleh berasaskan URL lokasi.
Tetapan IDE dan Binaan
Pastikan IDE atau alat binaan anda menyalin fail FXML daripada direktori sumber ke direktori output binaan. Rujuk panduan tetapan Intellij untuk mengurus ini: https://stackoverflow.com/questions/25232751/how-to-convert-a-normal-java-project-in-intellij-into-a-javafx-project.
Aplikasi Modular Jigsaw Java
Dalam aplikasi Java Jigsaw, dapatkan sumber terus daripada kelas, bukan kelas pemuat.
// Avoid: ComboBoxStyling.class.getClassLoader().getResource("/css/styleclass.css"); // Use: ComboBoxStyling.class.getResource("/css/styleclass.css");
Atas ialah kandungan terperinci Bagaimana untuk Mencari Fail FXML dalam Projek Maven?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Rangka Kerja 4 JavaScript teratas pada tahun 2025: React, Angular, Vue, Svelte

Bagaimanakah mekanisme kelas muatan Java berfungsi, termasuk kelas yang berbeza dan model delegasi mereka?

Node.js 20: Peningkatan Prestasi Utama dan Ciri -ciri Baru

Bagaimanakah saya menggunakan Maven atau Gradle untuk Pengurusan Projek Java Lanjutan, Membina Automasi, dan Resolusi Ketergantungan?

Iceberg: Masa Depan Jadual Data Tasik

Bagaimanakah saya melaksanakan caching pelbagai peringkat dalam aplikasi java menggunakan perpustakaan seperti kafein atau cache jambu?

Spring Boot Snakeyaml 2.0 CVE-2022-1471 Isu Tetap

Cara berkongsi data antara langkah -langkah dalam timun
