Rumah > Java > javaTutorial > Mengapa Saya Tidak Boleh Memuatkan Imej dalam JAR Saya yang Dieksport daripada Eclipse?

Mengapa Saya Tidak Boleh Memuatkan Imej dalam JAR Saya yang Dieksport daripada Eclipse?

Mary-Kate Olsen
Lepaskan: 2024-11-29 06:59:09
asal
891 orang telah melayarinya

Why Can't I Load Images in My Exported JAR from 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")));
Salin selepas log masuk
URL url = getClass().getResource("/resources/header.jpg");
Image image = Toolkit.getDefaultToolkit().getImage(url);
label.setIcon(new ImageIcon(image));
Salin selepas log masuk
try
{
    label.setIcon(new  ImageIcon(ImageIO.read(getClass().getResource("/resources/header.jpg"))));
}
catch (IOException e1)
{
    e1.printStackTrace();
}
Salin selepas log masuk

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:

  • Ubah suai struktur fail projek, dengan sumber sebagai pakej dalam src.
  • Dalam kod anda, gunakan laluan sumber berikut bersama kelas MainFrame:

    URL url = MainFrame.class.getResource("/resources/stackoverflow.png");
    Salin selepas log masuk
  • Eksport sebagai JAR boleh jalan dan jalankannya.

Contoh 2

Untuk sumber yang tidak berada dalam src tetapi disertakan dalam projek:

  • Pastikan folder sumber berada pada laluan binaan projek.
  • Akses imej dalam kod, tetapi tinggalkan awalan sumber daripada laluan:

    URL url = Main.class.getResource("/stackoverflow.png");
    Salin selepas log masuk
  • Eksport JAR seperti yang dinyatakan di atas.

Konfigurasi Pelancaran

Setelah imej boleh dimuatkan dari dalam Eclipse, menyediakan konfigurasi pelancaran adalah penting untuk mengeksport JAR. Ikuti proses mudah ini untuk membuat konfigurasi:

  • Klik kanan pada projek dan pilih Run->Run Configurations.
  • Buat konfigurasi pelancaran baharu untuk projek anda.
  • Pastikan konfigurasi ini dipilih semasa mengeksport sebagai Runnable JAR.

Pengesahan

  • Apabila memeriksa manifes JAR yang dieksport, baris berikut harus ada:

    Rsrc-Main-Class: com.stackoverflow.test.Main
    Salin selepas log masuk
  • JAR yang dikembangkan harus mengandungi fail berikut struktur:

    stackoverflow.png (resource file)
    Salin selepas log masuk
  • Menjalankan JAR ini seharusnya menghasilkan imej dengan jayanya.

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!

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