Das habe ich schon versuchtWas hast du denn ausprobiert? Ein Versuch könnte sein, dass man eine URI vom Classloader bekommt (Also z.B. per getClass().getResource) um so dann eine URL (toURL Aufruf) zu bekommen, die man mal probieren könnte. Aber ich weiss nicht, ob der JEditorPane die richtig laden kann bzw. ob da eine URL bei raus kommt oder eine Exception geworfen wird. Aber das ist ja ein schneller Test so man nicht wie ich am Handy sitzt....
kannst du mir das genauer erklären...Die zweite Möglichkeit wäre, das Bild selbst zu laden und dann base64 encoded in das html einzufügen. Das sollte aus meiner Sicht funktionieren.
Base64.getEncoder().encodeToString(bytes);
sollte das schon machen ...Ich habe das jetzt irgendwie gebastelt, aber naja...Was hast du denn ausprobiert? Ein Versuch könnte sein, dass man eine URI vom Classloader bekommt (Also z.B. per getClass().getResource) um so dann eine URL (toURL Aufruf) zu bekommen, die man mal probieren könnte. Aber ich weiss nicht, ob der JEditorPane die richtig laden kann bzw. ob da eine URL bei raus kommt oder eine Exception geworfen wird. Aber das ist ja ein schneller Test so man nicht wie ich am Handy sitzt....
File file = null;
file = new File("" + (InputStream) Programm6.class.getResourceAsStream("/Neuer Ordner/picture.html"));
URL url = null;
try {
url = new URL("file//"+ file);
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(url);
try {
url = file.toURI().toURL();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(url);
editorPane.setPage(url);
}
file:/C:/Users/Unkenttlichgemachteruser/eclipse-workspace/forum/java.io.BufferedInputStream@7d907bac
<img src="...."/>
hat (und da dann natürlich statt der ... die URL, die getResource liefert) und schon wird das Bild korrekt angezeigt.Danke auch dafür.Ich habe mir jetzt einmal die Zeit genommen
JEditorPane kann problemlos URL laden, die eine Datei innerhalb des jar Files beschreibt
URL url = JEditorPaneTest.class.getResource("/test.png");
String htmlCode = "<html><body><img src=\"" + url + "\" /></body></html>";
JEditorPane pane = new JEditorPane("text/html", htmlCode);
danke, funktioniert, vielen dankAlso wie beschrieben:
- URL per getResource holen (Meine Klasse heisst JEditorPaneTest - nicht dass du dadrüber stolperst...)
- HTML aufbauen mit img src=url
- Der JEditorPane das als HTMl Code geben
Java:URL url = JEditorPaneTest.class.getResource("/test.png"); String htmlCode = "<html><body><img src=\"" + url + "\" /></body></html>"; JEditorPane pane = new JEditorPane("text/html", htmlCode);