Toon posts:

[Java] DefaultStyledDocument bij elkaar voegen.

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo,

Voor een school opdracht moeten we een messenger maken. Het gaat voorlopig allemaal vrij goed. Het grootste probleem heb ik nu eigenlijk met het maken van het Chatscherm.
Het veldje waar hetbericght geschreven wordt lukt wel. Het probleem ligt bij het oversturen van zo'n bericht.
Er staan namelijk icoontjes, text, lettertypen enz in die JTextPane natuurlijk. En dat hele zooitje moet ik op een bepaalde manier over het lijntje zien te krijgen.
De eenvoudigste oplossing is natuurlijk de inhoud van het document in een DefaultStyledDocument te proppen en over te sturen.

Nu is de vraag: Hoe krijg ik dit bericht (in de vorm van een DefaultStyledDocument dus) in het DefaultStyledDocument dat in het "gemeenschappelijke" JTextPane staat. Is er een manier om dit te doen?

Kan ik 2 (DefaultStyled)Documents met alle inhoud (dus ook de icons) bij elkaar voegen?

Bij voorbaat hartstikke bedankt!

  • Eelke Spaak
  • Registratie: Juni 2001
  • Laatst online: 16-08 19:14

Eelke Spaak

- Vlad -

Misschien is het een beter idee om de inhoud van het chatvenster gewoon als plaintext over te sturen. Voor smilies, icons e.d. gebruik je dan codes. Dan is het heel simpel oversturen en gewoon steeds opnieuw parsen tot een StyledDocument.

TheStreme - Share anything with anyone


Verwijderd

Topicstarter
Ja, misschien moet dat dan maar.

Maar daar ben ik eigenlijk niet zo blij mee. Het is er allemaal al. In de DefaultStyledDocument dus. Je kan zo'n Document zo doorsturen. Alles zit er dan in. Het enige probleem dat ik er nu mee heb, is dat ik het niet voor elkaar krijg om er twee aan elkaar te plakken.

  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

Misschien dat je iets kunt met de methode insert?
http://java.sun.com/j2se/...edDocument.ElementSpec[])

[ Voor 4% gewijzigd door wasigh op 01-11-2003 23:27 . Reden: url fixen ]


Verwijderd

Topicstarter
Hmmz, zou kunnen. Weet ik alleen niet hoe ik aan een array van ElementSpec moet komen uit een ander Document.

Verwijderd

Topicstarter
Is het niet mogelijk uit een Document (of een JTextPane) de tekst als HTML string op te pakken?
Dan kan ik gewoon 2 Strings aan elkaar plakken.

Verwijderd

Topicstarter
Misschien met HTMLDocument ipv DefaultStyledDocument?

weet iemand dat?

  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

Ik zou zeggen: neus is wat rond in de api doc?

Verwijderd

Topicstarter
:)
bedankt voor deze tip. Maar denk je nou echt dat ik dat nog niet gedaan heb?

Verwijderd

Topicstarter
Volgens mij moet ik het doen met de Read en Write methods van DefaultEditorKit.

Ik kan de FileReader wel hanteren, maar het lukt me niet om deze Read en Write methodes te implementeren.

  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

HTMLDocumen is een subclass van DefaultStyledDocument ik zou eerder gaan kijken naar de mogelijkheden van AbstractDocument.

Ik zie twee mogelijkheden om iets te voegen in een DefaultStyledDocument:
de methode insert(). Deze vraagt om een array van ElementSpec. ElementSpec is een innerclass van DefaultStyledDocument. Die kan je pakken en dan aan der andere inserten.

Of je kunt de InsertUpdate methode gebruiken, Dan heb je een AttributeSet nodig. Voor een AttributeSet kun je weer gebruiken maken van AbstractDocument.AttributeContext die je via AbstractDocument kunt verkrijgen.

Ik weet niet of je al in die hoek gekeken hebt? Ik heb het zelf niet getest.

Waar je ook naar zou kunnen kijken zijn de methoden:
getContent(), insertString(), getText() en replace() van AbstractDocument


Misschien heb je hier iets aan? http://www.cscc.de/books/swingbook/files/uts2/Chapter11.pdf

[ Voor 7% gewijzigd door wasigh op 02-11-2003 23:53 ]

Pagina: 1