Fügen Sie das Bild mit der statischen Java-Methode in die JAR-Datei ein

Ein Memo, wenn Sie in Schwierigkeiten sind, weil das Bild beim Erstellen einer JAR-Datei mit Eclipse nicht enthalten ist.

Problem

Das Bild wird nicht angezeigt, auch wenn ich eine JAR-Datei erstelle. Die Methode zum Lesen des Bildes ist statisch. Wenn dies unverändert bleibt, wird das Bild nicht in die JAR-Datei aufgenommen.

Main.java


public static ImageIcon getImageIcon() {
    ImageIcon icon = new ImageIcon("nanase.jpg ");
    return icon;
}

Lösung

Nehmen Sie eine Klasse als Argument

Main.java


public static ImageIcon getImageIcon(Main m) {
    ClassLoader cl = m.getClass().getClassLoader();
    ImageIcon icon = new ImageIcon(cl.getResource("nanase.jpg "));
    return icon;
}

Lösung, wenn nicht statisch

Referenz → https://virtualwalk.hatenadiary.org/entry/20121013/1350127275

Main.java


public ImageIcon getImageIcon() {
    ClassLoader cl = this.getClass().getClassLoader();
    ImageIcon icon = new ImageIcon(cl.getResource("nanase.jpg "));
    return icon;
}

Referenz

・ Htps: // er tsua lk. Hatena Jia ry. Rg / Entry / 20120113/1350127275 ・ Htps: // ww. Na dann. jp / Tsutoria l / Imageikon / Inde x2. html -Erstellen eines Glases mit Eclipse https://java.keicode.com/lang/how-to-compile-jar-with-eclipse.php

Das ganze

Main.java


package include;
import java.awt.BorderLayout;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

public class Main extends JFrame{

	  public static void main(String[] args){
	    Main frame = new Main();
	    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	    frame.setBounds(10, 10, 150, 150);
	    frame.setTitle("Titel");
	    frame.setVisible(true);
	  }

	  Main(){
//	    ImageIcon icon = this.getImageIcon();
	    ImageIcon icon = Im.getImageIcon(this);
	    JLabel label = new JLabel(icon);

	    JPanel p = new JPanel();
	    p.add(label);

	    getContentPane().add(p, BorderLayout.CENTER);
	  }

//	  private ImageIcon getImageIcon() {
//		  ClassLoader cl = this.getClass().getClassLoader();
//		  ImageIcon icon = new ImageIcon(cl.getResource("nanase.jpg "));
//		  return icon;
//	  }
	}


class Im{
	public static ImageIcon getImageIcon(Main m) {
	  ClassLoader cl = m.getClass().getClassLoader();
	  ImageIcon icon = new ImageIcon(cl.getResource("nanase.jpg "));
	  return icon;
	 }
}

Recommended Posts

Fügen Sie das Bild mit der statischen Java-Methode in die JAR-Datei ein
Fügen Sie Bildressourcen in die JAR-Datei ein
Parallelitätsmethode in Java mit grundlegendem Beispiel
Lesen Sie die xlsx-Datei in Java mit Selenium
Lesen Sie eine Zeichenfolge in einer PDF-Datei mit Java
Führen Sie eine statische Code-Analyse mit Checkstyle mit Java + Gradle durch
Nehmen Sie das externe Glas mit Spring boot2 + Maven3 in das Paket auf
[Java] Holen Sie sich die Datei unabhängig von der Umgebung in das JAR
[Java] JavaConfig mit statischer innerer Klasse
Vorteile der statischen Java-Methode
Morphologische Analyse in Java mit Kuromoji
Lesen Sie die Java-Eigenschaftendatei in C #
Automatische Methode zur Größenänderung von Fotos von Java
So erstellen Sie eine JAR-Datei ohne Abhängigkeiten in Maven
Entpacken Sie die Zip-Datei in Java
Versuchen Sie es mit Redis mit Java (jar)
Protokollausgabe in Datei in Java
Beispiel für eine EXCEL-Dateiaktualisierung mit JAVA
Informationen zur Dateikopierverarbeitung in Java
Tweak Markdown mit Java Flexmark-Java
Rufen Sie die Super-Methode in Java auf
[Java] Erstellen Sie mit dem Befehl jar eine JAR-Datei, die sowohl komprimiert als auch nicht komprimiert ist
Generieren Sie den Quellcode aus der JAR-Datei mit der JD-GUI des Java Decompiler-Projekts
Lesen der log4j-Einstellungsdatei in einem Java-Projekt, das in der JAR-Datei Memo zusammengestellt ist
[Java] Fassen Sie zusammen, wie Sie mit der Methode equals vergleichen können
Statische Dateizugriffspriorität beim Spring Boot
So fügen Sie eine JAR-Datei in ScalaIDE hinzu
Was ist die Hauptmethode in Java?
Teilen Sie eine Zeichenfolge in Java mit ". (Dot)"
Behandeln Sie große JSON mit Java Lambda
Beispiel zum Entpacken einer gz-Datei in Java
Elementoperationsmethode in Appium TIPS (Java)
Java-Methode
Java (Methode)
Java statisch
Methode einschließen
Java-Methode
[Java] -Methode
[Java] -Methode
Java, das eine Datei im Vmg-Format im EML-Format ausgibt
[Java] Behandlung von Java Beans in der Methodenkette
Überarbeitetes GUI-Tool, das 2016 mit Java8 + JavaFX erstellt wurde
Java-Methodenaufruf von RPG (Methodenaufruf in eigener Klasse)
Textextraktion in Java aus PDF mit pdfbox-2.0.8
Ändern Sie dynamisch private statische Endfelder in Java
Methodenname der statischen Factory-Methode, die aus Java 8 gelernt wurde
Eine Bat-Datei, die Java in Windows verwendet
Überprüfen Sie das statische und öffentliche Verhalten in Java-Methoden
[Java] Dateien in src / main / resources lesen
Behandlung des Zugriffs auf Refactor-Eigenschaften mit Java Method Util
Üben Sie die Arbeit mit Unicode-Ersatzpaaren in Java
[JAVA] [Spring] [MyBatis] Verwenden Sie IN () mit SQL Builder
Methodenname der Methodenkette in Java Builder + α
Überprüfen Sie die Argumente für Methodenaufrufe in Blöcken mit RSpec
Verschlüsseln / Entschlüsseln mit AES256 in PHP und Java
[Java] KFunction von Method / Constructor in Java abrufen [Kotlin]
Programmierung mit dem direkten Summentyp in Java (Nachrichten)
[Java] Konvertieren und Importieren von Dateiwerten mit OpenCSV