TOM: Java zeigt keine .PNG Bilder. Was tun?

Hi Forum!

Ich hab hier auf meinm Testrechner die 1.3er Version der JVM inst.

Auf allen anderen Rechnern is 1.1 glaub ich.

Und genau so erkennen auf allen anderen Rechnern die JavaApplets die png-Bilder nicht. Was tun? gibts da ein plugin oder so?

thx TOM

  1. Hallo,

    Und genau so erkennen auf allen anderen Rechnern die JavaApplets die png-Bilder nicht. Was tun? gibts da ein plugin oder so?

    Könntest Du mal Deine Frage verständlich formulieren?
    Läuft das nur auf der JVM 1.1 nicht oder auf 1.3 nicht oder auf allen nicht?

    Wie zeigst Du die Bilder denn an?
    Wo ist der Code-Ausschnitt?
    Welchen Browser/welches Betriebssystem verwendest Du?

    Was ich vermute aus Deiner Frage zu erkennen ist, dass Du ein JavaApplet hast (wahrscheinlich nichtmal selber programmiert), welche PNG-Bilder anzeigen soll was aber nicht funktioniert, egal ob JVM 1.3 oder 1.1.
    Aber aufgrund von Vermutungen die ich aus Deiner Frage gedeutet hab, antworte ich nicht.
    Ein weiteres Plugin für PNG-Bilder ist nicht erforderlich.
    Wenn Du sagst es wird nichts angezeigt, kommt dann wenigstens das Applet-typische graue Kästchen im Browserfenster?
    Ein Blick lohnt auch in die Java-Konsole die beinahe jeder gängige Browser bietet (wenn ich wüßte welchen Du hast, könnte ich Dir sagen wo; so musste selbst in den Einstellungen suchen). Die Angaben die dort als Fehlermeldungen oder was auch immer ausgegeben werden, helfen sehr oft weiter.

    Gruss
       MichaelB

    1. Hallo,

      Hi

      Wie zeigst Du die Bilder denn an?
      Wo ist der Code-Ausschnitt?
      Welchen Browser/welches Betriebssystem verwendest Du?

      Soll plattformunabhängig sein!

      Ich hab winNT.

      Was ich vermute aus Deiner Frage zu erkennen ist, dass Du ein JavaApplet hast (wahrscheinlich nichtmal selber programmiert), welche PNG-Bilder anzeigen soll was aber nicht funktioniert, egal ob JVM 1.3 oder 1.1.

      Also es funtzt auf 1.3 aber auf 1.1 nicht und ich HABE es selber programmiert.

      Aber aufgrund von Vermutungen die ich aus Deiner Frage gedeutet hab, antworte ich nicht.
      Ein weiteres Plugin für PNG-Bilder ist nicht erforderlich.
      Wenn Du sagst es wird nichts angezeigt, kommt dann wenigstens das Applet-typische graue Kästchen im Browserfenster?

      Er erkennt das bild nicht und erkennt nur eine Bildbreite von -1 > also er hat es net erkannt / findet es net.

      Ein Blick lohnt auch in die Java-Konsole die beinahe jeder gängige Browser bietet (wenn ich wüßte welchen Du hast, könnte ich Dir sagen wo; so musste selbst in den Einstellungen suchen). Die Angaben die dort als Fehlermeldungen oder was auch immer ausgegeben werden, helfen sehr oft weiter.

      Ich bin nicht blöde und es währ net mich net dafür zu halten. Es werden da in der Konsole keine Fehlermeldungen ausgegeben!

      Gruss
         MichaelB

      greets from Erlangen Central -- TOM

      1. Hallo,

        Hi

        Wie zeigst Du die Bilder denn an?
        Wo ist der Code-Ausschnitt?
        Welchen Browser/welches Betriebssystem verwendest Du?

        Soll plattformunabhängig sein!

        Trotzdem gibt es immer wieder Plattformspezifische Probleme. Die JavaVM verwendet ja letzlich auch nur die Betriebssystemspezifischen API's und wenn die nicht korrekt funktionieren, kann Java erstmal nix dafür. Dann muss die Bibliothek ausgetauscht werden.

        Ich hab winNT.

        ahja ....

        Aber aufgrund von Vermutungen die ich aus Deiner Frage gedeutet hab, antworte ich nicht.
        Ein weiteres Plugin für PNG-Bilder ist nicht erforderlich.
        Wenn Du sagst es wird nichts angezeigt, kommt dann wenigstens das Applet-typische graue Kästchen im Browserfenster?

        Er erkennt das bild nicht und erkennt nur eine Bildbreite von -1 > also er hat es net erkannt / findet es net.

        Ich warte ja immer noch auf den entsprechenden Codeabschnitt. Aber so wird es echt schwierig ....

        Ein Blick lohnt auch in die Java-Konsole die beinahe jeder gängige Browser bietet (wenn ich wüßte welchen Du hast, könnte ich Dir sagen wo; so musste selbst in den Einstellungen suchen). Die Angaben die dort als Fehlermeldungen oder was auch immer ausgegeben werden, helfen sehr oft weiter.

        Ich bin nicht blöde und es währ net mich net dafür zu halten. Es werden da in der Konsole keine Fehlermeldungen ausgegeben!

        Sorry, aber wer nichtmal eine Frage halbwegs vernüftig formulieren kann da geht man erstmal vom Schlimmsten aus.
        Und gerade als "Nur-Anwender" (es war nichtzu erkennen, was Du bist) kommt man gar nicht auf die Idee mit der Konsole.

        Gruss
           MichaelB

        1. Hi

          Sorry, aber wer nichtmal eine Frage halbwegs vernüftig formulieren kann da geht man erstmal vom Schlimmsten aus.
          Und gerade als "Nur-Anwender" (es war nichtzu erkennen, was Du bist) kommt man gar nicht auf die Idee mit der Konsole.

          Tut mir leid - ich war grad ein bisschen im Streß und wollte nur ne kurze Problembeschreibung tippen. Hab das ja jetzt nachgeholt - siehe oben.

          Gruss
             MichaelB

          Gruss TOM

  2. Ok leuts.

    Hier nochmal die GENAUE Problembeschreibung.

    Ich habe ein Programm in JavaApplet/Javascript/PHP geproggt. Das is dafür da um die Prozessablaufbilder auf der Anlage nachzuahmen und dem Bediener die Möglichkeit zu geben, die einzelnen Werte zu verschieben. Zum nachahmen wird in der Version 1.2 Text verwendet. Der Haken: Die breite der einzelnen zu verschiebenen Werte-Kästchen ist NIE 100% gleich mit der Breite im Orginal auf der Anlage.

    Auf der Anlage werden dynamisch (php) erzeugte png-Bilder verwendet. So jetzt hab ich die Version 1.3 fertig. Die Neuerungen sind u.A., dass diese Texte nun durch Bilder ersetzt werden, die mit derselben PHP-Seite erzeugt werden wie die auf der Anlage -> Also ist nun sichergestellt das diese gleich aussehen.

    Der Haken kommt jetzt: Auf meinem Rechner mit der Virtual Machine von Sun (1.3) funtzt das perfekto.

    Welche VM die anderen haben weiß ich net - die haben nen Standard Windows NT Rechner (normal mit IE) oder nen Standard Suse Linux Rechner (Suse version 7.2) mit NS4.7.

    Ich schätze mal dass die anderen Rechner eine VM Version 1.1 haben.

    Ich hab mir auch schon gedacht, dass es vielleicht an der dynamischen Erzeugung liegt, deshalb hab ich ein Test-PNG-File darstellen lassen. Geht wieder nur bei mir. WEnn ich dasselbe mit Gif-Files mache geht es überall. Leider müssen wir png-files benutzen (ihr wisst schon Lizenz).

    Naja da muss es doch ein plugin oder so geben?
    Dem Kunden zuzumuten auf jedem seiner Rechner eine aktuelle VM zu installieren wäre die aller-allerletze Lösung. Das ist Müll.

    Ok - für die Code-Freaks - hier der betreffende Ausschnitt:

    public void prepareImage(String Quelle, int i, int j)
       {
    System.out.println("lade bild.... " + getCodeBase().toString() + Quelle);
     //Bild laden
       this.txtimg[i][j] = getImage(getCodeBase(),Quelle);
       MediaTracker mt = new MediaTracker(this);
       mt.addImage(this.txtimg[i][j], 0);
       try {
         //Warten, bis das Image vollständig geladen ist,
           mt.waitForAll();
       } catch (InterruptedException e) {
         //nothing
       }
       if(j<=2){
       this.hoehe[i][j] = this.txtimg[i][j].getHeight(this);
       this.breite[i][j]  = this.txtimg[i][j].getWidth(this);
       if(this.hoehe[i][j] == -1) this.hoehe[i][j] = 16;
       if(this.breite[i][j] == -1) this.breite[i][j] = 50;
     System.out.println("hoehe/breite: " + this.hoehe[i][j] + "/" + this.breite[i][j]);
               }
            }
    Das bewirkt folgendes: i und j sind nur normale Zählervariablen. Quelle entspricht der Bild-Quelle (die ist 100% richtig, weil wenn ich den String kopiere, der mit System.out ausgegeben wird und in die Adressezeile eintrage funktioniert es auch).

    Wenn die Bildbreite -1 ist, dann wird die Bildbreite auf 50 und dasselbe bei Höhe auf 16 gesetzt. Dann erscheinen statt den Werten in meinem Applet nur leere weiße kästchen.

    So ich hoffe das genügt jetzt.

    Jemand ne Ahnung??

    thx TOM

    1. Hallo,

      Hier nochmal die GENAUE Problembeschreibung.

      *freu* :-)

      Der Haken kommt jetzt: Auf meinem Rechner mit der Virtual Machine von Sun (1.3) funtzt das perfekto.

      Ja .... das ist auch tatsächlich ein Problem des Mediatrackers der alten JVM's. Aber es gibt Klassen, um diese Funktion brauchbar "nachzurüsten". Siehe http://www.jguru.com/faq/view.jsp?EID=526444
      Die müsstest Du denn halt für Dein Applet mit zur Verfügung stellen.

      Welche VM die anderen haben weiß ich net - die haben nen Standard Windows NT Rechner (normal mit IE) oder nen Standard Suse Linux Rechner (Suse version 7.2) mit NS4.7.

      :-) NS 4.7 verwendet ja noch seine "eigene" JVM. Und die ist 1.1 kompatibel. Stimmt.
      Bei IE ohne JRE von Sun verwenden auch den JVM 1.1 Stand.

      Ich hoffe, dass hilft Dir weiter

      Gruss
         MichaelB

      1. Hi

        Ich hoffe, dass hilft Dir weiter

        Ja denke schon. Das heißt aber auch Arbeit :(

        Scheiß Kompliziert aufn ersten blick das Zeugs da gg

        aber das wird schon - danke!

        Gruss
           MichaelB

        greets TOM

        1. Hi

          Ich hoffe, dass hilft Dir weiter
          Ja denke schon. Das heißt aber auch Arbeit :(

          Alternative wäre ja das Bild als Bild direkt auf der Webseite anzeigen zu lassen. Das macht zwar eine Aktualisierung schwieriger (weil die ganze Seite geladen werden muss), aber evtl. wäre das eine Möglichkeit.

          Scheiß Kompliziert aufn ersten blick das Zeugs da gg

          Ja .... evtl. finden sich auch noch andere Lösungen. Aber das Jimi-Paket von Sun ist halt die "offizielle" Variante.
          Schöner wäre es natürlich, wenn es etwasgäbe was den Orginal-MediaTracker einfach ersetzt.
          Wie gesagt .... vielleicht sollte man danach nochmal suchen.

          aber das wird schon - danke!

          Hoffentlich ...

          Gruss
             MichaelB

          1. Hi

            Ich hoffe, dass hilft Dir weiter
            Ja denke schon. Das heißt aber auch Arbeit :(
            Alternative wäre ja das Bild als Bild direkt auf der Webseite anzeigen zu lassen. Das macht zwar eine Aktualisierung schwieriger (weil die ganze Seite geladen werden muss), aber evtl. wäre das eine Möglichkeit.

            Nö das geht leider net. Das is net möglich. Warum is jetzt egal oder?

            Scheiß Kompliziert aufn ersten blick das Zeugs da gg
            Ja .... evtl. finden sich auch noch andere Lösungen. Aber das Jimi-Paket von Sun ist halt die "offizielle" Variante.
            Schöner wäre es natürlich, wenn es etwasgäbe was den Orginal-MediaTracker einfach ersetzt.
            Wie gesagt .... vielleicht sollte man danach nochmal suchen.

            Mhhh.. ich versuchs mal mit dem Jimi - Ding g

            aber das wird schon - danke!
            Hoffentlich ...

            Gruss
               MichaelB

            Greets TOM

            P.S.: Zuerst simma ja ziemlich aneinander geraten weil ich einen miesen Thread geschrieben hab und du mich gleich zur Sau gemacht hast g
            aber im Endeffekt hats gut geklappt mhh? :-P
            Danke :)

            1. Hallo,

              Ich hoffe, dass hilft Dir weiter
              Ja denke schon. Das heißt aber auch Arbeit :(
              Alternative wäre ja das Bild als Bild direkt auf der Webseite anzeigen zu lassen. Das macht zwar eine Aktualisierung schwieriger (weil die ganze Seite geladen werden muss), aber evtl. wäre das eine Möglichkeit.
              Nö das geht leider net. Das is net möglich. Warum is jetzt egal oder?

              Naja .... ich vermute mal, dass Applet interagiert mit der Serverseiter recht munter. Und das läßt sich anders schlecht machen oder aber auch die Aktualisierung muss sehr zügig erfolgen.
              Der Appletweg ist da ansich schon ok. Ich bin aber dann am überlegen ... *grübel*
              Nunja. Vielleicht könnte ja die Serverseite das auch anders kodieren als als PNG. Zum Beispiel als einfaches Bitmap (kann ja ein eigenes Format sein; es wird ja nur für die Übertragung gebraucht und muss daher kein Standardformat sein). Wenn das Grafiken sind mit gleichmäßigen Flächen läßt sich das schon recht gut als ZIP verpacken. Diesen ZIP-Stream könnte dann das Applet übernehmen (Java hat ja eingebaute UNZIP-Funktionen; Package: java.util.zip) und dann das Bild darstellen.
              Verstehst Du, wie ich meine?
              Fragt sich halt nur wie groß der Aufwand ist und ob sich das lohnt.

              Scheiß Kompliziert aufn ersten blick das Zeugs da gg
              Ja .... evtl. finden sich auch noch andere Lösungen. Aber das Jimi-Paket von Sun ist halt die "offizielle" Variante.
              Schöner wäre es natürlich, wenn es etwasgäbe was den Orginal-MediaTracker einfach ersetzt.
              Wie gesagt .... vielleicht sollte man danach nochmal suchen.
              Mhhh.. ich versuchs mal mit dem Jimi - Ding *g*

              Kannst ja berichten wie es war. :-)

              P.S.: Zuerst simma ja ziemlich aneinander geraten weil ich einen miesen Thread geschrieben hab und du mich gleich zur Sau gemacht hast g

              Naja .... "zur Sau" ist vielleicht etwas übertrieben. :-) Aber vielleicht klang das schon etwas überzogen.
              Aber letzlich ist das schon so, dass um so besser die Frage ist, umso höher ist die Chance eine Antwort zu bekommen (vorallem auch eine genaue Antwort). Es ist also ohnehin auch in Deinem Interesse.
              Das man manchmal etwas aufgeregt ist und deshalb die Frage etwas "schlampig" formuliert, dass kann schon passieren. Aber grundsätzlich sollte man schon in einem solchen Forum mit der Einstellung herangehen:"ICH möchte was von den anderen (wissen) und daraum bemühe ich mich meine Frage auch so zu formulieren, dass ich es ihnen möglichst leicht mache".
              Wenn da aber jemand ankommt nach dem Motto "Det funzt nich also mach mal" dann muss man schonmal mit einer etwas ungehaltenen Reaktion rechnen. Und das muss nicht ja nicht sein.
              Die Hilfestellung hier wird freiwillig gegeben und da ist etwas Eigeninitiative und nette Athmosphäre schon gar nicht schlecht.

              So .... nu aber fleissig programmieren und nicht soviel in meinem unwichtigen Posting herumlesen. ;-)

              Gruss
                 MichaelB

            2. Hi TOM,

              P.S.: Zuerst simma ja ziemlich aneinander geraten
              weil ich einen miesen Thread geschrieben hab

              diese Erkenntnis ehrt Dich.

              Viele Grüße
                    Michael