Archiv verlassen und diese Seite im Standarddesign anzeigen : Java: JEditorPane typ html - getText() vs. getSelectedText()
clm[k1]
2005-04-13, 16:20:06
So, ich hab da ein kleines problem bei dem ich nicht weiter komme.
Ich hab ein JEditorPane mit dem ContentType "text/html"
Die methode getText() liefert mir den kompletten inhalt davon inklusive aller html-tags.
getSelectedText() liefert mir zwar den selektierten text, allerdings ohne die html-tags.
Und getSelectionStart() sowie getSelectionEnd() liefern mir ebenfalls nur die position wie sie ohne die html-tags wäre.... was mir logischerweise reichlich wenig nützt.
Gibt es eine möglichkeit den selektierten text (und dessen start und ende) unter berücksichtigung der html-tags abzufragen?
clm[k1]
Senior Sanchez
2005-04-14, 10:24:03
Hmm, haste schon mal bei der getDocument() Methode geschaut? Die liefert dir ja das Document zurück was de auch casten kannst in ein HTMLDocument. Eventuell findste da was passendes.
Welche html-tags willst du denn haben? Weil wenn das über Document nicht geht, seh ich nur ne Variante das ganze manuell zu machen.
mfg Senior Sanchez
clm[k1]
2005-04-14, 11:06:19
Hmm, haste schon mal bei der getDocument() Methode geschaut? Die liefert dir ja das Document zurück was de auch casten kannst in ein HTMLDocument. Eventuell findste da was passendes.
Welche html-tags willst du denn haben? Weil wenn das über Document nicht geht, seh ich nur ne Variante das ganze manuell zu machen.
mfg Senior Sanchez
Jep, das mit HTLMDocument hab ich mir schon angeschaut.
Nur um damit arbeiten zu können, müsste mir (bzw. dem Programm) die Struktur des
HTMLDocuments bekannt sein - was bei einem Editor dummerweise nicht möglich ist.
(HTMLDocument erlaubt das tag-weise schreiben und auslesen, nur muss dazu das eltern-tag bekannt sein)
..wenn es nur um das formatieren ginge, würde ich mit TextPane und StyledDocument arbeiten, aber ich brauche die html-tags.
clm[k1]
Senior Sanchez
2005-04-14, 22:48:03
Eventuell hilft dir JTidy weiter: http://sourceforge.net/projects/jtidy
Welche Tags brauchst du denn genau?
mfg Senior Sanchez
clm[k1]
2005-04-21, 10:59:11
Ok, ich hab das Problem gelöst!!!!!11111einseins
Das ganze ist so verdammt einfach, das man da unmöglich von selbst drauf kommen kann :ugly:
Man braucht lediglich das Document als HTMLDocument holen, ein SimpleAttributeSet erstellen, dem die gewünschte eigenschaft - zB setBold - verpassen, und im HTMLDocument der gewünschten teilbereich das ganze zuweisen mit
setCharacterAttributes(mt_start, selection_length, bold, false)
wobei man da sogar noch angeben kann ob vorhandene eigenschaften ersetzt werden sollen...
so.. mehr nicht... denn der wandelt das intern automatisch in HTML um.... da muss man erst mal drauf kommen :uroll: :ucrazy3:
gruß
clm[k1]
vBulletin®, Copyright ©2000-2024, Jelsoft Enterprises Ltd.