Sebastian: Per HTML auf Datei in Jar-Archiv zugreifen

Hallo Forum,

ich habe eine Frage. Ich habe mir ein Java Programm geschrieben und ihm eine JEditorPane gegeben. In dieser Pane kann HTML Code eingegeben werden. Nun will ich, um unabhängig zu sein, auf dein Bild zugreifen und dieses Bild in das JAR-File packen. Kann ich irgendwie mit z.B. file://./pics/test.png auf das Bild in dem JAR File zugreifen?

Grüße,

Sebastian

  1. moin Sebastian :)

    Deine Problembeschreibung ist sehr dürftig.
    Ich habe mir das Posting jetzt zum dritten Mal heute durchgelesen und kann mir dennoch nicht im geringsten vorstellen, was genau du eigentlich willst.

    liebe Grüße aus Berlin
    lina-

    --
    Dinge aus dem linaland
    Self-Code: ie:% fl:( br:^ va:) ls:/ fo:| rl:( ss:) de:] js:| mo:)
  2. Hej,

    Auch ich habe kaum verstanden was du vor hast, ...

    Kann ich irgendwie mit z.B. file://./pics/test.png auf das Bild in dem JAR File zugreifen?

    aber bei dieser konkreten Frage könnte uns meine Glaskugel weiterhelfen. Du möchtest auf eine Grafik zugreifen, die in dem JAR-File steckt welches deine Applikation ist?

    Das kannst du mittels Class.getResourceAsStream() erreichen:
    JavaInsel6
    Java API

    Beste Grüße
    Biesterfeld

    --
    Art.1: Et es wie et es
    Art.2: Et kütt wie et kütt
    Art.3: Et hätt noch immer jot jejange
    Das Kölsche Grundgesetz
    1. ja, das hab ich auch ein wenig umständlich formuliert... geb ich zu.

      im grunde hast du recht, dass ich auf eine Grafik zugreifen will, die innerhalb meines JARs ist, aus dem ich das Programm starte. Also bleibt der Zugriff innerhalb des JARs.

      Jedoch will ich auf die Datei in HTML-Code zugreifen und zwar HTML-Code innerhalb des GUIs (JEditorPane). Und da wird es kritisch, da ich nicht weiß, welchen Pfad ich in <img src="???"> setzen soll.

      Hab ich es jetzt besser erklärt? *g*

      Vielen Dank,

      Sebastian

      1. Hej,

        Jedoch will ich auf die Datei in HTML-Code zugreifen und zwar HTML-Code innerhalb des GUIs (JEditorPane). Und da wird es kritisch, da ich nicht weiß, welchen Pfad ich in <img src="???"> setzen soll.

        Dazu kann ich dir nichts genaues sagen, weil ich die html-Implementierung von Java nicht genau kenne. Aber vielleicht hilft dir dieses Sun Tutorial weiter:
        http://java.sun.com/developer/JDCTechTips/2003/tt1210.html#2

        Ganz unten ist beschrieben wie du CSS in das html einbinden kannst, nämlich indem du dir nicht die Ressource als Stream zurückgeben lässt, sondern eine java.net.URL, die darauf verweist. Dazu greifst du über die Klasse die das html verarbeitet statisch darauf zu:

        MeinJEditorPane.class.getResource( meinBild.png )

        Sollte das wider erwarten nicht funktionieren, könntest du immernoch überlegen

        * die Grafik entweder per getResourceAsStream() aus dem Jar rauszuholen und in ein temporäres Verzeichnis zu speichern, allerdings hast du wahrscheinlich das gleiche Problem was den Zugriff angeht;

        * oder du könntest die Grafik vielleicht auch als Inline-Grafik einbinden, es kann aber sein, dass das nicht unterstützt wird.

        In jedem Fall solltest du dir sehr gut überlegen, ob das was du vorhast überhaupt sinnvoll ist. Ich persönlich finde es ziemlich quick and dirty zu extensiv html in den Swing Klassen einzusetzen. Du verlierst ziemlich schnell den Überblick und hast keine saubere Trennung zwischen Programm- und Darstellungslogik mehr. Aber das hängt auch von dem ab, was du eigentlich vor hast, ich wollte es nur zu bedenken geben.

        Beste Grüße
        Biesterfeld

        --
        Art.1: Et es wie et es
        Art.2: Et kütt wie et kütt
        Art.3: Et hätt noch immer jot jejange
        Das Kölsche Grundgesetz