La solucion elegante es esta:
Código:
public class loquesea {
private JEditorPane htmlEditorPane;
private Element parrafo = null;
(...)
public void imprimirHtml(String str) {
try {
HTMLDocument docHtml = (HTMLDocument)htmlEditorPane.getDocument();
if(parrafo == null) {
parrafo = docHtml.getRootElements()[0].getElement(0).getElement(0);
}
docHtml.insertBeforeEnd(parrafo, str);
} catch (IOException ex) {
ex.printStackTrace();
} catch (BadLocationException ex) {
ex.printStackTrace();
}
}
De esta manera el elemento "parrafo" correspondera con la seccion <p>(cosas)</p> de tu texto. Usando docHtml.insertBeforeEnd(parrafo, str) lo insertaras justo antes de acabar ese parrafo
Si quisieras insertar justo antes de acabar la etiqueta body, seria algo asi:
Código:
parrafo = docHtml.getRootElements()[0].getElement(0);
Y si quisieras insertar justo antes de acabar la etiqueta html:
Código:
parrafo = docHtml.getRootElements()[0];
Estoy escribiendo codigo pegado de una fuente con codigo inventado (como al declaracion de campos), por lo que posiblemente de algun error de sintaxis, pero solucionandolos funcionara