Rumah > Java > javaTutorial > Bagaimana untuk Mencari Fail FXML dalam Projek Maven?

Bagaimana untuk Mencari Fail FXML dalam Projek Maven?

Barbara Streisand
Lepaskan: 2024-11-18 21:03:02
asal
591 orang telah melayarinya

How to Locate FXML Files in Maven Projects?

Merujuk 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"));
Salin selepas log masuk

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();
Salin selepas log masuk

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"));
Salin selepas log masuk

2. Letakkan fail FXML dalam src/main/resources/fxml:

loader.setLocation(getClass().getResource("/fxml/main.fxml"));
Salin selepas log masuk

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
Salin selepas log masuk

Dan muatkannya menggunakan:

loader.setLocation(getClass().getResource("main.fxml"));
Salin selepas log masuk

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");
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan