andbin
12-02-2008, 23:26
Ho un JEditorPane in cui viene caricato del contenuto HTML e successivamente, una volta ottenuto il suo HTMLDocument, vorrei cambiare da programma il contenuto di alcuni elementi. La questione è che gli elementi su cui voglio operare sono elementi "leaf":
... <code id="myid">blabla</code> ...
Il riferimento all'oggetto Element di questo tag riesco ad ottenerlo senza problemi:
HTMLDocument htmlDoc = (HTMLDocument) editorPane.getDocument ();
Element code = htmlDoc.getElement ("myid");
Il fatto è che non ho trovato un modo per impostare il contenuto. I metodi setInnerHTML(), insertAfterStart() e insertBeforeEnd() non funzionano per elementi "leaf" ma solo per elementi "branch".
insertAfterEnd() e insertBeforeStart() funzionano ma ovviamente lavorano al di fuori dell'elemento. Anche setOuterHTML() funziona ma così dovrei rimpiazzare l'intero tag.
Insomma ... non ho capito se e come è possibile impostare il contenuto di un elemento "leaf", mantenendo tutti gli stili associati.
Suggerimenti? Idee? Grazie.
... <code id="myid">blabla</code> ...
Il riferimento all'oggetto Element di questo tag riesco ad ottenerlo senza problemi:
HTMLDocument htmlDoc = (HTMLDocument) editorPane.getDocument ();
Element code = htmlDoc.getElement ("myid");
Il fatto è che non ho trovato un modo per impostare il contenuto. I metodi setInnerHTML(), insertAfterStart() e insertBeforeEnd() non funzionano per elementi "leaf" ma solo per elementi "branch".
insertAfterEnd() e insertBeforeStart() funzionano ma ovviamente lavorano al di fuori dell'elemento. Anche setOuterHTML() funziona ma così dovrei rimpiazzare l'intero tag.
Insomma ... non ho capito se e come è possibile impostare il contenuto di un elemento "leaf", mantenendo tutti gli stili associati.
Suggerimenti? Idee? Grazie.