Rumah >Java >javaTutorial >Bagaimana untuk Membetulkan Ralat \'Lokasi Diperlukan\' dalam JavaFX Apabila Menggunakan FXML dalam Pakej yang Sama?
JavaFX "Lokasi Diperlukan" Ralat dalam Pakej Yang Sama
Mesej ralat "java.lang.NullPointerException: Lokasi diperlukan" dalam JavaFX boleh berlaku apabila fail FXML tidak boleh dimuatkan. Isu ini mungkin timbul walaupun fail FXML berada dalam pakej yang sama dengan kelas Aplikasi.
Punca:
Dalam kes tertentu, seperti semasa Maven sedang digunakan , fail FXML mungkin tidak terletak dengan betul. Ini boleh berlaku disebabkan oleh mekanisme pengurusan sumber Maven.
Penyelesaian:
Untuk menyelesaikan isu ini, gunakan getClassLoader().getResource() dan bukannya getClass().getResource () untuk memuatkan fail FXML. Pengubahsuaian ini memastikan lokasi yang betul digunakan untuk mencari fail FXML.
Kod Diubah Suai:
Gantikan baris berikut:
<code class="java">Parent root = FXMLLoader.load(getClass().getResource("main.fxml"));</code>
dengan perkara berikut:
<code class="java">Parent root = FXMLLoader.load(getClass().getClassLoader().getResource("main.fxml"));</code>
Dengan menggunakan getClassLoader().getResource(), isu ralat "Lokasi diperlukan" harus diselesaikan. Pendekatan yang disemak ini mempertimbangkan pengurusan sumber Maven dan membenarkan fail FXML dimuatkan dengan jayanya.
Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat 'Lokasi Diperlukan' dalam JavaFX Apabila Menggunakan FXML dalam Pakej yang Sama?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!