Announcement

Collapse
No announcement yet.

Pfadangaben in einen .jar-File

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Pfadangaben in einen .jar-File

    Moin,

    ich habe mal eine Frage zu Pfadangaben in einem JAR-File. Ich habe zur Zeit ein Projekt laufen in dem am Anfang recht viele Bilder in den Speicher geladen werden. Dies funktioniert in der Eclipse-Umgebung ohne Probleme.

    Wenn ich das Projekt jedoch in einen JAR-File exportiere werden die Bilder alle nicht mehr gefunden. Es wird die Methode
    Code:
    File(fname)).exists();
    geprüft ob die Datei existiert.

    Die ganze Methode sieht dann so aus:

    Code:
    public void addImg(String fname, String name) {
            boolean exists = (new File(fname)).exists();
    	if (exists) {
    	    img = this.getToolkit().createImage(fname);
    
    	    mt.addImage(img, 0);
    
    	    try {
    		mt.waitForAll();
    	    } catch (InterruptedException e) {
    		// TODO: Exception bearbeiten.
    	    }
    
    	    Bild bild = new Bild(img, name);
    	    imgList.add(bild);
    	} else {
    	    System.out.println("Fehler: Konnte Bilddatei " + fname +
    		    " nicht finden");
    	}
    }
    Es wird zu jedem Bild in einem Bild-Objekt noch ein passender Bezeichner gespeichert über den man dann später wieder auf das Bild drauf zugreifen kann. Der MediaTracker sorgt einfach dafür das die Bilder vollständig im Speicher sind bevor mit der Programmausführung fortgefahren wird.

    Weiß jemand woran das liegen kann?

    MFG,
    Kunibert85

  • #2
    Hi,

    Befinden sich Deine Bilder im JAR-File ?

    Dann kannst Du eine Image wie folgt laden:
    Code:
    String imgName = "image.jpg";
    URL imgURL = getClass().getResource(imgName);
    Toolkit tk = Toolkit.getDefaultToolkit();
    Image img = null;
    try {
     MediaTracker m = new MediaTracker(this);
     img = tk.getImage(imgURL);
     m.addImage(img, 0);
     m.waitForAll();
     }
    catch (Exception e) {
     e.printStackTrace();
    }

    oder einfacher:
    Code:
    String imgName = "image.jpg";
    URL url = this.getClass().getResource(imgName);
    Image img = new ImageIcon(url).getImage();
    Zuletzt editiert von lulog1; 05.12.2007, 12:25.
    MfG

    Comment


    • #3
      Ja die Bilddateien sind mit im JAR-File.

      Ich habe deinen Vorschlag probiert und es hat alles geklappt. Danke!

      MFG,
      Kunibert85

      Comment


      • #4
        Originally posted by Kunibert85 View Post
        Ich habe deinen Vorschlag probiert und es hat alles geklappt. Danke!
        Freut mich zu hören
        MfG

        Comment

        Working...
        X