Guten Tag!
Ich versuche mich derzeit an einem WYSIWYG-Editor. Dazu habe ich eine JTextPane in eine JScrollPane eingebettet und formatiere die Pane mit HTML. Das ganze funktioniert auch alles einwandfrei. Bilder lasse ich mir anzeigen mit
. Das zeigt mir das gewuenschte Bild auch sauber und linksbuendig an, jedoch fliesst der Text nicht wie erwartet und gewohnt sondern beginnt erst in der letzten Zeile des Bildes (Der Text sollte natuerlich bereits ab der ersten Zeile des Bildes rechts daneben beginnen).
Nach ein bisschen google-Arbeit stellte sich heraus, dass ich nicht der einzige mit diesem Problem bin, jedoch gab es keine zufriedenstellenden Antworten und die meisten haben auf eine fertige Klasse zurueckgegriffen, doch dies ist fuer mich aus Lizenz-Gruenden leider nicht moeglich...
Hier mal ein Bild dazu:
Und noch ein bisschen Source Code:
Ich sollte noch erwaehnen, dass ich auch versucht habe das ganze ueber StyledDocuments ueber Java zu "fake"-stylen waehrend ich im Hintergrund den HTML code generiere aber auch das fuehrt zu diesem ziemlich unzufriedenstellenden Ergebnis.
Vielen Dank im Voraus!
Ich versuche mich derzeit an einem WYSIWYG-Editor. Dazu habe ich eine JTextPane in eine JScrollPane eingebettet und formatiere die Pane mit HTML. Das ganze funktioniert auch alles einwandfrei. Bilder lasse ich mir anzeigen mit
HTML:
<span style="float:left;"><img src="file:..." /></span>
Nach ein bisschen google-Arbeit stellte sich heraus, dass ich nicht der einzige mit diesem Problem bin, jedoch gab es keine zufriedenstellenden Antworten und die meisten haben auf eine fertige Klasse zurueckgegriffen, doch dies ist fuer mich aus Lizenz-Gruenden leider nicht moeglich...
Hier mal ein Bild dazu:
Und noch ein bisschen Source Code:
Java:
editingPane = new JTextPane();
kit = new HTMLEditorKit();
editingPane.setEditorKit(kit);
styleSheet = kit.getStyleSheet();
try {
styleSheet.importStyleSheet(new URL("file:css/web.css"));
} catch (MalformedURLException e) {
e.printStackTrace();
}
doc = kit.createDefaultDocument();
editingPane.setDocument(doc);
editingPane.setText("<html><span style='float:left;'><img src='file:img/nopicture.png' alt='pic' /></span>Text</html>\n");
Ich sollte noch erwaehnen, dass ich auch versucht habe das ganze ueber StyledDocuments ueber Java zu "fake"-stylen waehrend ich im Hintergrund den HTML code generiere aber auch das fuehrt zu diesem ziemlich unzufriedenstellenden Ergebnis.
Vielen Dank im Voraus!
Anhänge
Zuletzt bearbeitet: