tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
8
ZUGRIFFE
428
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Zelnehlun Zelnehlun ist offline Mitglied
    Registriert seit
    Jul 2011
    Beiträge
    13
    Hallo,
    ich versuche für das Applet Bilder aus der .jar Datei des Applets zu laden.
    Das funktioniert auch ohne Probleme.
    In Eclipse und auf meinem Rechner läuft das Programm wie geschmiert.

    Jetzt habe ich das fertige Applet, mit den Bildern in der .jar Datei auf einen Server hochgeladen.
    Anfangs habe ich nur ein Bild geladen, keine Probleme. Seit ich jetzt mehrere Bilder lade wirft er mir folgenden Fehler Code aus:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    
    java.lang.IllegalArgumentException
    at java.util.zip.ZipInputStream.getUTF8String(Unknown Source)
    at java.util.zip.ZipInputStream.getFileName(Unknown Source)
    at java.util.zip.ZipInputStream.readLOC(Unknown Source)
    at java.util.zip.ZipInputStream.getNextEntry(Unknown Source)
    at com.sun.deploy.net.HttpDownloadHelper.decompressWrite(Unknown Source)
    at com.sun.deploy.net.HttpDownloadHelper.download(Unknown Source)
    ...

    Ich weiß nicht ob es an der höheren Anzahl an Bildern liegt, aber das Applet wirft erst seit diesem Moment die Exception aus. Wie gesagt lokal funktioniert alles.

    Zu finden ist das Programm unter: www.marc.patrick-fischer.at/LK.html

    Wenn es jemanden interessiert, die Bilder sind im .png Format gespeichert und der Code sieht folgendermaßen aus:

    Konstruktor:
    Code java:
    1
    2
    3
    
    ...
    imgSpeerträger = new ImageIcon(getImage("speerträger.png"));
    ...

    getImage Methode:
    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
    public Image getImage(String path){
            try{
                InputStream in = getClass().getResourceAsStream(path);
                Image img = ImageIO.read(in);
                
                return img;
            }catch(Exception ex){
                System.out.println(ex);
            }
            
            return null;
        }

    Ich würde mich über Hilfe freuen

    Gruß Zelnehlun
     

  2. #2
    genodeftest genodeftest ist offline Mitglied Brillant
    Registriert seit
    Jun 2009
    Beiträge
    870
    schon mal n '/' vor dem Pfad versucht?
     
    Code bitte so einfügen: [java]System.out.println("Hallo");[/java] (Analog für andere Programmiersprachen)
    Code java:
    1
    
    System.out.println("Hallo");
    hilfreich zu Java: Really Big Index, Java ist auch eine Insel Band 1 und Band 2.
    ___________
    Ubuntu Bug #1: Microsoft has a majority market share
    Casecon: Projekt leiser Käse

  3. #3
    Zelnehlun Zelnehlun ist offline Mitglied
    Registriert seit
    Jul 2011
    Beiträge
    13
    Der Pfad ist nicht das Problem, in Eclipse und wenn ich das Applet lokal aufrufe läd er alle Bilder ohne Probleme und zeigt sie an. Abgesehen davon befinden sich die Bilder direkt in der .jar Datei, deßhalb keine /.
    Ich weiß, dass es Zeit beansprucht sich in das Problem einzulesen, deswegen bin ich jedem dankbar der sich bemüht
     

  4. #4
    genodeftest genodeftest ist offline Mitglied Brillant
    Registriert seit
    Jun 2009
    Beiträge
    870
    Ok, du musst auch die Bilder mit in das JAR-File legen (höchste Ebene) und dann den Pfad so abändern wie ich es oben geschrieben habe. Oder du packst sie in ein Paket, z.B. de.tutorials.bsp.resources und änderst den Pfad dann auf "/de/tutorials/bsp/resources/bild.png" ab.
    Alternativ könntest du die Bilder auch per HTTP (URLConnection) nachladen.
    Noch einfacher geht es, wenn du statt Image ImageIcon verwendest. Der Constructor von ImageIcon nimmt nämlich auch eine URL an.
     
    Code bitte so einfügen: [java]System.out.println("Hallo");[/java] (Analog für andere Programmiersprachen)
    Code java:
    1
    
    System.out.println("Hallo");
    hilfreich zu Java: Really Big Index, Java ist auch eine Insel Band 1 und Band 2.
    ___________
    Ubuntu Bug #1: Microsoft has a majority market share
    Casecon: Projekt leiser Käse

  5. #5
    Zelnehlun Zelnehlun ist offline Mitglied
    Registriert seit
    Jul 2011
    Beiträge
    13
    Das heisst, ich könnte die Bilder im Internet hochladen und als ImageIcon per URL in das Applet laden?
    Ich hoffe das löst das Problem, werde ich später mal ausprobieren.
     

  6. #6
    genodeftest genodeftest ist offline Mitglied Brillant
    Registriert seit
    Jun 2009
    Beiträge
    870
    Ja, das sollte funktionieren. Abhängig davon, ob dein Applet signiert ist, wirt du aber nur Dateien von dem Server laden können, von dem das Applet geladen wurde.
     
    Code bitte so einfügen: [java]System.out.println("Hallo");[/java] (Analog für andere Programmiersprachen)
    Code java:
    1
    
    System.out.println("Hallo");
    hilfreich zu Java: Really Big Index, Java ist auch eine Insel Band 1 und Band 2.
    ___________
    Ubuntu Bug #1: Microsoft has a majority market share
    Casecon: Projekt leiser Käse

  7. #7
    Zelnehlun Zelnehlun ist offline Mitglied
    Registriert seit
    Jul 2011
    Beiträge
    13
    Hm, ich lade die Bilder jetzt vom Server per URL. Allerdings läd er nur die 4 letzten Bilder, alle anderen bleiben irgendwie hängen (?). Wenn ich mir den Image Load Status ausgeben lasse gibt er 4 aus.
     

  8. #8
    genodeftest genodeftest ist offline Mitglied Brillant
    Registriert seit
    Jun 2009
    Beiträge
    870
    lass dir mal die Exception ausgeben und untersuche deinen Code nach Typos.
     
    Code bitte so einfügen: [java]System.out.println("Hallo");[/java] (Analog für andere Programmiersprachen)
    Code java:
    1
    
    System.out.println("Hallo");
    hilfreich zu Java: Really Big Index, Java ist auch eine Insel Band 1 und Band 2.
    ___________
    Ubuntu Bug #1: Microsoft has a majority market share
    Casecon: Projekt leiser Käse

  9. #9
    Zelnehlun Zelnehlun ist offline Mitglied
    Registriert seit
    Jul 2011
    Beiträge
    13
    Es kommt zu keiner Exception, Schreibfehler hab ich nicht gefunden vielleicht bin ich aber auch einfach nur blind:

    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
    try{
                imgSpeerträger = new ImageIcon(new URL("http://www.marc.patrick-fischer.at/speerträger.png"));
                imgSchwertkämpfer = new ImageIcon(new URL("http://www.marc.patrick-fischer.at/schwertkämpfer.png"));
                imgBogenschütze = new ImageIcon(new URL("http://www.marc.patrick-fischer.at/bogenschütze.png"));
                imgArmbrustschütze = new ImageIcon(new URL("http://www.marc.patrick-fischer.at/armbrustschütze.png"));
                imgPanzerreiter = new ImageIcon(new URL("http://www.marc.patrick-fischer.at/panzerreiter.png"));
                imgLanzenreiter = new ImageIcon(new URL("http://www.marc.patrick-fischer.at/lanzenreiter.png"));
                imgHandkarren = new ImageIcon(new URL("http://www.marc.patrick-fischer.at/handkarren.png"));
                imgOchsenkarren = new ImageIcon(new URL("http://www.marc.patrick-fischer.at/ochsenkarren.png"));
            }catch(Exception ex){
                System.out.println(ex);
            }

    Die letzten vier Bilder werden angezeigt, alle anderen scheinen bei getImageLoadStatus() = 4 hängen zu bleiben :/
     

Ähnliche Themen

  1. JAVA Applet Problem
    Von h0nkh0nkh0nkh0nk im Forum Java
    Antworten: 2
    Letzter Beitrag: 19.04.10, 18:59
  2. <h:selectOneMenu> Illegal Argument Exception [JSF]
    Von Bexx im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 2
    Letzter Beitrag: 22.12.09, 15:30
  3. Problem mit Java Applet
    Von WaZZkeSS im Forum Microsoft Windows
    Antworten: 0
    Letzter Beitrag: 18.12.08, 07:39
  4. Problem mit Java APPLET
    Von StefanSkvaric im Forum Javascript & Ajax
    Antworten: 1
    Letzter Beitrag: 10.07.05, 17:56
  5. Antworten: 2
    Letzter Beitrag: 28.09.04, 10:02

Stichworte