Eclipse Exported Runnable JAR Tidak Memaparkan Imej
Apabila cuba memuatkan imej daripada fail JAR yang dieksport daripada Eclipse, pengguna mungkin menghadapi masalah di mana imej gagal dipaparkan.
Untuk menyelesaikan isu ini, pastikan berikut:
1. Lokasi Sumber Imej:
2. Kaedah Pemuatan Imej:
Sahkan kaedah pemuatan imej yang digunakan. Kaedah berikut telah berjaya diuji:
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(); }
3. Konfigurasi Laluan Bina:
Jika sumber tidak berada terus dalam folder sumber, pastikan ia disertakan dalam laluan binaan:
4. Konfigurasi Jalankan:
Apabila mengeksport sebagai JAR boleh jalan, pilih konfigurasi larian yang sesuai. Konfigurasi ini harus sepadan dengan kelas utama yang anda jalankan dalam Eclipse.
5. Fail Manifes:
Pastikan fail manifes mengandungi sifat berikut:
Rsrc-Class-Path: ./ Class-Path: . Rsrc-Main-Class: <main class> Main-Class: org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader
Contoh:
Contoh berikut menunjukkan cara untuk berjaya memuatkan imej bernama "stackoverflow.png" daripada sumber folder:
Struktur Fail:
- src - com.stackoverflow.test - Main.java - resources - stackoverflow.png
Kod:
package com.stackoverflow.test; import javax.swing.*; public class Main { public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable(){ public void run() { URL url = Main.class.getResource("/resources/stackoverflow.png"); ImageIcon icon = new ImageIcon(url); JFrame frame = new JFrame(); frame.add(new JLabel(icon)); frame.pack(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLocationRelativeTo(null); frame.setVisible(true); } }); } }
Eksport:
Klik kanan projek dan pilih "Eksport" > "Fail JAR Boleh Dijalankan". Sediakan konfigurasi pelancaran yang sesuai dan eksport JAR.
Keputusan:
Menjalankan JAR yang dieksport seharusnya memaparkan imej "stackoverflow.png" dengan jayanya.
Atas ialah kandungan terperinci Mengapa Imej Tidak Dipaparkan dalam My Eclipse Exported Runnable JAR?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!