Ver Mensaje Individual
  #3 (permalink)  
Antiguo 18/10/2009, 04:17
golthiryus
 
Fecha de Ingreso: octubre-2009
Mensajes: 1
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Modificar HTML en JTextPane

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