Icon für JAR-Datei

  • Themenstarter Themenstarter Guest
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hi, habe folgendes Problem: Ich möchte eine von mir erstellte JAR-Datei weitergeben. Dazu möchte ich das "Standart-Kaffeetassen-Icon" der Datei ändern, wegen dem professionellen Look, wenn Ihr versteht.
Gibt es eine Möglichkeit, dass Icon so zu ändern, dass es auch auf einem fremden Rechner angezeigt wird (Registry fällt damit wohl weg)?
Für Antworten danke ich schon mal im Vorraus!
 
Da man in eine bat Dateien keine Bilder integrieren kann, wohl eher eine .exe wenn es um Windows geht.
 
OK, Danke! Kannst du mir da etwas empfehlen, wie ich diese Datei (EXE) machen kann? Zum Beispiel ein Programm (Compiler).
 
Habe mir das jetzt als Eclipse-Plugin gedownloaded. Ich verstehe aber nicht ganz, wie ich damit nun aus meinem Java-Programm (.jar) eine EXE machen kann.
 
Ich bastle mir die Sachen eigentlich gerne selbst. Gibt es eine (einfache) Programmiersprache, die ich nur für den Aufruf der JAR-Datei verwenden kann und danach eine EXE daraus machen kann?
 
Anonymous hat gesagt.:
Gibt es eine (einfache) Programmiersprache, die ich nur für den Aufruf der JAR-Datei verwenden kann und danach eine EXE daraus machen kann?

Meinst du, du willst mit einer anderen Programmiersprache eine .exe kompilieren, die nichts anderes macht, als die JAR mit der JVM aufzurufen? Die Idee ist alles andere als gut, aber wenn du unbedingt willst, kannst du ja C/C++ nehmen.
 
Was ist denn an der Idee so schlecht? Ich finde das irgendwie professioneller, als so ein forgefertigtes Programm.
 
Es gilt als unprofessionell immer wieder das Rad neu erfinden zu wollen, zumal die vorgeschlagene Software ziemlich ausgereift ist.
Vielleicht sollten wir noch klären, was du wirklich möchtest. Weil für meine Begriffe kam das nicht genau zur Sprache.
Willst du die Jar-Datei nur mit einer Exe starten, oder willst du aus deiner Jar-Datei mit einem Native Code Compiler eine Exe erzeugen?
 
Hallo Gast,

Für Deine ursprüngliche Frage
Gast hat gesagt.:
Hi, habe folgendes Problem: Ich möchte eine von mir erstellte JAR-Datei weitergeben. Dazu möchte ich das "Standart-Kaffeetassen-Icon" der Datei ändern, wegen dem professionellen Look, wenn Ihr versteht.
Gibt es eine Möglichkeit, dass Icon so zu ändern, dass es auch auf einem fremden Rechner angezeigt wird (Registry fällt damit wohl weg)?
Für Antworten danke ich schon mal im Vorraus!
habe ich zwei Möglichkeiten aufgeführt:

1. Möglichkeit:
Laden des Icon aus einem Bild, welches in der Jar-Datei eingebunden wird. Das Bild image.png musst bei diesem Beispiel im selben Verzeichnis liegen wie die .class Datei.

Das Programm:
Code:
import java.net.*;
import javax.swing.*;

public class Start extends JFrame{
  public Start(){
    super("Icon für JAR-Datei");

    URL url = getClass().getResource( "image.png" );
    setIconImage(new ImageIcon(url).getImage());

    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setBounds(100,100,300,150);
    setVisible(true);
  }
//------------------------------------------------------------------------------------------------
  public static void main(String args[]){
    new Start();
  }
//================================================================================================
}

Programm kompilieren und eine Jar-Datei erstellen.

Die MANIFEST.MF:

Code:
Manifest-Version: 1.0
Created-By: 1.6.0_02 (Sun Microsystems Inc.)
Main-Class: Start

Jetzt die Jar-Datei erstellen:
jar -cvfm Test.jar MANIFEST.MF Start.class image.png

2. Möglichkeit:
Das Icon als Arrays von Bytes in das Programm einbinden.

Das Programm:
Code:
import javax.swing.*;

public class Start extends JFrame{

byte[] b = {
(byte)0x89,(byte)0x50,(byte)0x4e,(byte)0x47,(byte)0x0d,(byte)0x0a,(byte)0x1a,(byte)0x0a,
(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x0d,(byte)0x49,(byte)0x48,(byte)0x44,(byte)0x52,
(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x10,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x10,
(byte)0x08,(byte)0x06,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x1f,(byte)0xf3,(byte)0xff,
(byte)0x61,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x2e,(byte)0x49,(byte)0x44,(byte)0x41,
(byte)0x54,(byte)0x38,(byte)0xcb,(byte)0x63,(byte)0x60,(byte)0xa0,(byte)0x10,(byte)0x30,
(byte)0x42,(byte)0xe9,(byte)0xff,(byte)0xf8,(byte)0xe4,(byte)0xff,(byte)0xff,(byte)0xff,
(byte)0x8f,(byte)0x55,(byte)0x9e,(byte)0x91,(byte)0x91,(byte)0x91,(byte)0x91,(byte)0x89,
(byte)0x52,(byte)0x17,(byte)0x8c,(byte)0x1a,(byte)0x30,(byte)0x18,(byte)0x00,(byte)0xc1,
(byte)0x78,(byte)0x26,(byte)0x94,(byte)0x4e,(byte)0x46,(byte)0xa3,(byte)0x71,(byte)0x30,
(byte)0xa4,(byte)0x03,(byte)0x00,(byte)0x3c,(byte)0xeb,(byte)0x0a,(byte)0x17,(byte)0x00,
(byte)0x23,(byte)0x8a,(byte)0x9d,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x49,
(byte)0x45,(byte)0x4e,(byte)0x44,(byte)0xae,(byte)0x42,(byte)0x60,(byte)0x82
};
//------------------------------------------------------------------------------------------------
  public Start(){
    super("Icon für JAR-Datei");

    setIconImage(new ImageIcon(b).getImage());

    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setBounds(100,100,300,150);
    setVisible(true);
  }
//------------------------------------------------------------------------------------------------
  public static void main(String args[]){
    new Start();
  }
//================================================================================================
}

Programm kompilieren und eine Jar-Datei erstellen.

Die MANIFEST.MF:

Code:
Manifest-Version: 1.0
Created-By: 1.6.0_02 (Sun Microsystems Inc.)
Main-Class: Start

Jetzt die Jar-Datei erstellen:
jar -cvfm Test.jar MANIFEST.MF Start.class


Bei Ausführung der Jar-Datei erscheint das Image als Icon in der Titelleiste. Gestestet auf Debian Tux und Windows (Longhorn) Vista.


Grüss Max
 
@max60watt
Es ging hier wohl eher um das Icon für .jar Dateien in Dateimanager XY (vermutlich Windows Explorer).
 
Der Beitrag von max60watt wäre aber was für die FAQ, da man sowas ja doch schon öfters mal gebrauchen könnte...

Find ich echt gut die Idee =)
 
Der Gast war ich Oo mich hatte es nicht eingeloggt, also nicht dass ihr denkt, dass der Gast der den Beitrag gestartet hatte das war =)
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben