Rumah >Java >javaTutorial >Mengapa Saya Tidak Boleh Memuatkan Imej dalam JAR Saya yang Dieksport daripada Eclipse?
Imej yang Boleh Dimuat dalam JAR yang Dieksport daripada Eclipse
Pertemuan dengan imej yang gagal dipaparkan semasa memuatkan fail JAR yang dieksport daripada Eclipse boleh mengecewakan. Walaupun imej terdapat dalam JAR yang dieksport, ia mungkin tidak kelihatan kerana teknik pemuatan yang salah.
Pembolehubah Laluan Sumber dan Variasi Kod
Satu aspek penting ialah penggunaan laluan sumber yang betul. Imej yang dirujuk hendaklah dibungkus dalam folder sumber yang ditetapkan Eclipse atau diletakkan bersama kod sumber dalam struktur projek.
Pelbagai kaedah boleh digunakan untuk memuatkan imej:
label.setIcon(new ImageIcon(MainFrame.class.getResource("/resources/header.jpg")));
URL url = getClass().getResource("/resources/header.jpg"); Image image = Toolkit.getDefaultToolkit().getImage(url); label.setIcon(new ImageIcon(image));
try { label.setIcon(new ImageIcon(ImageIO.read(getClass().getResource("/resources/header.jpg")))); } catch (IOException e1) { e1.printStackTrace(); }
Menyelesaikan Isu Pemuatan Sumber
Kepada mendapatkan pandangan tentang sebab di sebalik kegagalan untuk memaparkan imej, perbandingan dengan contoh yang berfungsi boleh terbukti membantu. Bahagian berikut membentangkan senario dengan ilustrasi dan panduan langkah demi langkah untuk membantu dalam menyelesaikan masalah:
Contoh 1
Dengan sumber yang terdapat dalam src, ikut langkah berikut:
Dalam kod anda, gunakan laluan sumber berikut bersama kelas MainFrame:
URL url = MainFrame.class.getResource("/resources/stackoverflow.png");
Contoh 2
Untuk sumber yang tidak berada dalam src tetapi disertakan dalam projek:
Akses imej dalam kod, tetapi tinggalkan awalan sumber daripada laluan:
URL url = Main.class.getResource("/stackoverflow.png");
Konfigurasi Pelancaran
Setelah imej boleh dimuatkan dari dalam Eclipse, menyediakan konfigurasi pelancaran adalah penting untuk mengeksport JAR. Ikuti proses mudah ini untuk membuat konfigurasi:
Pengesahan
Apabila memeriksa manifes JAR yang dieksport, baris berikut harus ada:
Rsrc-Main-Class: com.stackoverflow.test.Main
JAR yang dikembangkan harus mengandungi fail berikut struktur:
stackoverflow.png (resource file)
Atas ialah kandungan terperinci Mengapa Saya Tidak Boleh Memuatkan Imej dalam JAR Saya yang Dieksport daripada Eclipse?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!