Memahami Pemuatan Sumber dengan getClass().getResource()
Apabila cuba memuatkan imej untuk ikon aplikasi, pembangun menyedari bahawa kaedah pilihan mereka, getClass().getResource(path), telah mengembalikan null, menyebabkan imej tidak tersedia. Walau bagaimanapun, mencipta ImageIcon secara langsung menggunakan laluan eksplisit berfungsi dengan lancar. Perbezaan ini menimbulkan persoalan tentang mekanisme pemuatan sumber pemuat kelas.
Lokasi Sumber oleh Pemuat Kelas
Tidak seperti laluan fail eksplisit, getClass().getResource(path) mencari sumber dalam laluan kelas projek. Laluan kelas merangkumi semua sumber, perpustakaan dan balang yang ditambahkan pada projek. Ini bermakna bahawa sebarang sumber yang diletakkan dalam kod sumber atau perpustakaan terpaut boleh diakses melalui kaedah ini.
Mengapa laluan eksplisit berfungsi
Dalam kes di mana ImageIcon adalah dicipta dengan laluan eksplisit, sumber sedang dimuatkan terus daripada sistem fail. Pendekatan ini tidak bergantung pada pemuat kelas dan menganggap bahawa imej wujud di lokasi yang ditentukan.
Menyelesaikan Isu Sumber Null
Untuk menyelesaikan isu sumber null, memastikan bahawa fail imej boleh diakses dalam laluan kelas. Ini boleh dicapai dengan memasukkannya ke dalam direktori kod sumber atau menambahkannya ke perpustakaan/jar yang berkaitan. Pembungkusan dan konfigurasi yang betul adalah penting untuk memastikan akses kepada sumber yang diperlukan semasa masa jalan aplikasi.
Atas ialah kandungan terperinci Mengapakah getClass().getResource() Mengembalikan Null Apabila Memuatkan Sumber?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!