JTextPane und Text zu bereits existierenden Text hinzufügen?

Status
Nicht offen für weitere Antworten.
N

Nowotny

Gast
Hallo

Ich nutze eine TextPane für einen kleinen Chat. Bis jetzt habe ich neue Nachrichten mit
Code:
textpane.setText(textpane.getText() + NeuerText);
hinzugefügt. Sobald im Ernstfall größere Textmengen zusammenkommen, wird das vermutlich ineffizient. Wie löse ich das geschickt?

Schon mal vielen Dank im Vorraus!
N.
 
B

Beni

Gast
Das Document der TextPanes holen (getDocument), und dort die Methode "insertString" benutzen. (Aber wie dass dann intern geregelt wird, weiss ich nicht. Vielleicht kannst du ja selbst eine geschickte Implementation des Documents machen).
 
N

Nowotny

Gast
Hallo Beni

Hast Du ein Codebeispiel für Deine Idee?

Gruß
N.
 
G

Guest

Gast
Code:
try
{
  textpane.getDocument().insertString(textpane.getDocument().getLength(), "BlaBla", null);
}
catch(BadLocationException e)
{
  // sollte nie kommen
}
 
C

ChristianBr86

Gast
Hi,

ich arbeite an einem ähnlichen Problem aber das hab ich schon so gelöst:

Code:
JEditorPane editor = new JEditorPane();
this.setLayout(new BorderLayout());
this.add("Center", editor);
Document doc = editor.getDocument();
try
{
	doc.insertString(doc.getLength(), "DeinText", null);
}
catch(BadLocationException e)
{
	System.out.println("War wohl nix");
}

Das funktioniert ja ganz gut.

Wass ich jetzt noch bräuchte und Nowotny sicher auch für seinen Chat ist, wie ich über insertString HTML Tags hinzufügen kann und diese dan auch als HTML geparst werden.

Mein bisheriges ergebniss sieht immer so aus:

Code:
[b]Test

Wie schaff ich es das der Text bei obigem HTML Code also fett gedruckt wird:

Test


Hab mich bei Google schon Tot gesucht. Mit dem HTMLEditorKit komm ich nicht weiter. (Das JEditorpane hat natürlich ContentType("text/html")
 
G

Guest

Gast
Schau Dir javax.swing.text.html.HTMLDocument an, da gibt es paar Methoden um HTML einzufügen

Element getElement(String id)
void insertAfterEnd(Element elem, String htmlText)
void insertAfterStart(Element elem, String htmlText)
void insertBeforeEnd(Element elem, String htmlText)
void insertBeforeStart(Element elem, String htmlText)
void setInnerHTML(Element elem, String htmlText)
void setOuterHTML(Element elem, String htmlText)
usw.
 

Milbo

Mitglied
Ja wie klappts jetzt?

Ich hab jetzt nen Mix,.. manche tags werden interpretiert und andere nicht.

Ich habe das Problem, dass ich eine Konsole bauen willl, welche Hyperlinklistener kennen muss und griechische Buchstaben anzeigen können soll.

Mein Programm wird durch die Ausgabe total ausgebremst. Jetzt habe ich das so gemacht, wie Christian beschrieben hat. Jetzt verstehe iuch nur nicht, wie ich komplett html angezeigt bekomme. Es ist mir auch rätselhaft, was dahintersteckt.

Vielleicht kann mir jmd nochma auf die Sprünge helfen.

cyas da Milbo

Edit: Ich hab verschiedene Ausgabemethoden, die alten Methoden liefern weiterhin interpretierte html, diese Funktionen holen den alten Text mit getText, dann werfe ich alle html tags raus, die ich nicht brauche (</html> z.B. und dann füge ich hinten nen neuen String an.
Wenn ich es mit getDocument und insertString mache, dann wird dieser Teil nicht interpretiert. da es eigentlich das selbe Document ist, vermute ich dass beim insertString alles was in <> steht zu & und & umgewandelt wird. Dadurch wirds später nicht mehr beim parsen als html angesehen.

Eventuell muß man bei der Zeile
Code:
 doc.insertString(doc.getLength(),"
"+text, null);

nur das richtige AttributeSet setzen.
Nur ist das wieder komplettes Neuland für mich. Ich hab zwar versucht die API zu verstehen, aber irgendwie komme ich mir so vor, als würde mir jmd nen Haufen Einzelteile in die Hand drücken und sagen, bau mal nen Motor damit, nur dass ich keine Vorstellung davon habe wie nen fertiger Motor dieser Bauart funktioniert. Ich hab nur ne Vorstellung davon, was er tuen soll :)
Ahhja JavaInsel geht da auch nicht wirklich ins Detail und im Handbuch der Javaprogrammierung von Wesley fand ich auch nicht wirklich was dazu.
 

Milbo

Mitglied
Hat keiner eine Idee?

Ich hab noch alles mögliche andere ausprobiert aber ich komme nicht dahinter.

Ich hab mir gedacht, es müsste eigentlich mit dem Parser zusammenhängen. Nur leider erhalte ich keine Parser, wenn ich getParser mache.

Wenn ich den ContentType des JTextPane auf text/plain ändere, dann wird wird der String beim Befehl doc.insertString(.....) nicht verändert..

Dann wird allerdings der Text nicht interpretiert, ändere ich den Contenttype der JTextPane auf text/html, kann man sehen, wie der vorher eingefügte Text interpretiert wird. Nur damit kann man nicht das Problem lösen, weil erstens siehts sche.... aus und zweitens kommt er dann durcheinander mit den Threads.


Desweiteren habe ich die Strategie versucht ein EditorKit für text/plain zu erstellen (weil da wird da String ohne Veränderung inserted) und auf eine JTextPane welche für den Content text/html gesetzt wurde, anzuwenden. Da kommt dann leider ne Cast exception.

Warum wird es nicht dem Programmierer selbst überlassen sich zu überlegen, wie was interpretiert werden soll. Was hast das für einen Sinn, wenn man den Content auf html setzt und dann keine html tags mehr inserten kann. Nur durch setpage, was aber ziemlich viel Zeit frisst. Das es logisch sein soll verstehe ich nicht.


cya da Milbo auf eine Lösung hoffend.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Swing JTextPane, Bilder und Text-flow AWT, Swing, JavaFX & SWT 2
E Swing jTextPane Text datei anzeigen AWT, Swing, JavaFX & SWT 7
T Text in JTextPane vertikal (!) zentrieren AWT, Swing, JavaFX & SWT 4
C Swing JTextPane zeigt HTML-Text aus Variable nicht an :( AWT, Swing, JavaFX & SWT 3
A JTextPane: Text hinzufügen AWT, Swing, JavaFX & SWT 9
E Swing JTextPane Inhalt(Text und Bilder) als HTML text bekommen AWT, Swing, JavaFX & SWT 3
D JTextPane - Text andersfarbig unterstreichen AWT, Swing, JavaFX & SWT 7
S JTextPane - markierten Text Formatieren AWT, Swing, JavaFX & SWT 11
M Makierten Text in JTextPane zentrieren AWT, Swing, JavaFX & SWT 2
D JTextPane Text anklickbar machen bzw. Hyperlink erstellen? AWT, Swing, JavaFX & SWT 5
F Vertikaler Text in einem JTextPane AWT, Swing, JavaFX & SWT 3
D Text in JTextPane vergrößern AWT, Swing, JavaFX & SWT 12
M JTextPane schreibt keinen farbigen Text! AWT, Swing, JavaFX & SWT 7
P JTextPane ALIGN_JUSTIFIED zeigt den Text zentriert an? AWT, Swing, JavaFX & SWT 8
0 Mehrfarbigen Text in JTextPane einfügen AWT, Swing, JavaFX & SWT 2
Z JTextPane (text/html): Schrift festlegen AWT, Swing, JavaFX & SWT 5
B Stylen eines JTextPane funktioniert nicht AWT, Swing, JavaFX & SWT 1
T JTextPane ignoriert HTML Zeilenumbruch <br> tag wegen eigenem HTMLEditorKit AWT, Swing, JavaFX & SWT 5
J Swing JTextpane aktuallisiert nicht den setText? AWT, Swing, JavaFX & SWT 9
M Strings im JTextPane vergleichen und mit StyledDocument formatieren AWT, Swing, JavaFX & SWT 3
X JTextPane automatischer Zeilenumbruch IM Wort AWT, Swing, JavaFX & SWT 2
R GUI Element in einer Methode aktualisieren (JTextPane) AWT, Swing, JavaFX & SWT 13
D Swing Breite einer HTML Tabelle in einer JTextPane AWT, Swing, JavaFX & SWT 6
S Swing Warum funktioniert der automatische Zeilenumbruch mit arabischen Zeichen beim JTextPane nicht AWT, Swing, JavaFX & SWT 3
S Swing JtextPane sau langsam AWT, Swing, JavaFX & SWT 15
J Swing JTextPane mit JScrollPane auf JPanel scrollen nicht AWT, Swing, JavaFX & SWT 6
C JTextPane scrollt mit setText() immer nach oben AWT, Swing, JavaFX & SWT 2
S Swing Style Attribute aus JTextPane kopieren AWT, Swing, JavaFX & SWT 1
E JTextPane Focus AWT, Swing, JavaFX & SWT 1
TheJavaKid JTextPane: komplexe Formatierung (links) AWT, Swing, JavaFX & SWT 2
B Swing JTextPane - Einfärbungen auf "default" AWT, Swing, JavaFX & SWT 2
A Swing Einrücken mehrerer Zeilen per Tab in einem JTextPane/JTextArea AWT, Swing, JavaFX & SWT 3
T JtextPane Zeile aktualisieren AWT, Swing, JavaFX & SWT 3
T Hintergrundbild in JTextPane fixieren AWT, Swing, JavaFX & SWT 2
M Swing JTextPane frisst Anführungszeichen AWT, Swing, JavaFX & SWT 2
M Swing JTextPane + Scrollbar = Fragen AWT, Swing, JavaFX & SWT 15
H Swing JTextPane hat unästhetisches Scrollbar AWT, Swing, JavaFX & SWT 3
R Swing Renderproblem bei HTML in einer JTextPane AWT, Swing, JavaFX & SWT 12
N Swing JTextPane zur Anzeige von HTML AWT, Swing, JavaFX & SWT 2
xehpuk Swing Line-wrapping von JTextPane (in JScrollPane) AWT, Swing, JavaFX & SWT 3
Tobse Swing [JTextPane] Farbliche Hervorhebung AWT, Swing, JavaFX & SWT 9
X Swing JTextPane bei Größenänderung Formatierung behalten AWT, Swing, JavaFX & SWT 11
0 JTextPane copy/paste trotz editable(false) ? AWT, Swing, JavaFX & SWT 10
T Swing JTextPane Tastatureingabe abfangen AWT, Swing, JavaFX & SWT 4
B Durchsichtiges JScroll und JTextPane AWT, Swing, JavaFX & SWT 4
xehpuk Swing JTextPane in JScrollPane wird nicht ordentlich neugezeichnet AWT, Swing, JavaFX & SWT 3
S Swing JTextPane append formatprobleme AWT, Swing, JavaFX & SWT 5
C JTextPane / JEditorPane ohne Keywords farbig machen AWT, Swing, JavaFX & SWT 4
C Zeilenumbruch von JTextPane wird nicht erkannt AWT, Swing, JavaFX & SWT 2
S JEditorPane oder JTextPane? AWT, Swing, JavaFX & SWT 2
P Aktuelle Zeile in JTextPane farblich hervorheben AWT, Swing, JavaFX & SWT 3
J JTextPane Background setzen AWT, Swing, JavaFX & SWT 6
M Zugriff paralleler Threads auf selbes JTextPane AWT, Swing, JavaFX & SWT 6
M JTextPane - bewegungsloses Hintergrundsbild (Duplikat) AWT, Swing, JavaFX & SWT 2
B JTextPane formatierten Inhalt speichern AWT, Swing, JavaFX & SWT 2
E JTextPane setText ignoriert \n AWT, Swing, JavaFX & SWT 6
P Swing Sichtbaren teil eines JTextPane herausbekommen (mit JScrollPane) AWT, Swing, JavaFX & SWT 2
T Zeichen zählen JTextPane AWT, Swing, JavaFX & SWT 4
K Swing JTextPane Formatierungen SyntaxHighlighting AWT, Swing, JavaFX & SWT 11
F Mit TAB JTextPane wechseln AWT, Swing, JavaFX & SWT 5
J JSlider auf JTextPane? AWT, Swing, JavaFX & SWT 2
S Buchstabenpositionen in JTextPane erhalten..? AWT, Swing, JavaFX & SWT 5
I JTextPane und Hyperlink (ohne JEditorPane) AWT, Swing, JavaFX & SWT 5
T Swing JTextArea, JTextPane, JEditorPane...Unterschied?! AWT, Swing, JavaFX & SWT 3
A Swing JTextPane sehr langsam AWT, Swing, JavaFX & SWT 6
P Drucken von Jtextpane mit Seitenangabe AWT, Swing, JavaFX & SWT 1
M Swing JTextPane mit JScrollPane soll aussehen wie JLabel AWT, Swing, JavaFX & SWT 3
K Swing jTextPane zeilenumbruch AWT, Swing, JavaFX & SWT 2
Stillmatic JTextPane langsam? AWT, Swing, JavaFX & SWT 5
E Swing JTextPane linewrap AWT, Swing, JavaFX & SWT 4
M Swing [JTextPane] Cursor lässt sich nicht mit Pfeiltasten bewegen AWT, Swing, JavaFX & SWT 3
T Swing xml in JTextPane mit EditorKit, StyledDocument & co. AWT, Swing, JavaFX & SWT 3
M Cursor setzen im JTextPane AWT, Swing, JavaFX & SWT 3
M Formatierungsfehler JTextPane WARUM ?? AWT, Swing, JavaFX & SWT 4
JavaKaffee Array auslesen in jTextPane? AWT, Swing, JavaFX & SWT 9
E JTextPane Bold Italic und Co AWT, Swing, JavaFX & SWT 6
M JTextPane Ende des Feldes AWT, Swing, JavaFX & SWT 4
P Probleme mit JTextpane AWT, Swing, JavaFX & SWT 7
M Größe von JTextPane manuell bei Bedarf anpassen AWT, Swing, JavaFX & SWT 6
bugmenot JTextPane String stimmt nicht mit übergebenem String überein AWT, Swing, JavaFX & SWT 9
C JTextPane <br oder <p> statt \n AWT, Swing, JavaFX & SWT 2
C JTextPane HTML und eigene Tags AWT, Swing, JavaFX & SWT 10
G JTextPane durchsichtig? AWT, Swing, JavaFX & SWT 6
GilbertGrape Fehler bei HTML in JTextPane AWT, Swing, JavaFX & SWT 2
S JTextPane: Probem mit AlignmentAction AWT, Swing, JavaFX & SWT 3
J Problem mit JTextPane & JScrollPane (horizontal) AWT, Swing, JavaFX & SWT 3
B JTextPane und Image importieren in HTML String. AWT, Swing, JavaFX & SWT 2
J JTextPane mit genau 80 Zeichen breite definieren? AWT, Swing, JavaFX & SWT 3
J Html in JTextPane anzeigen? AWT, Swing, JavaFX & SWT 2
Steev JTextPane mit Textformatierung funktioniert nicht AWT, Swing, JavaFX & SWT 5
P HTMLDocument in einem JTextPane. Anhängen von HTML-Code AWT, Swing, JavaFX & SWT 2
F JTextPane aktive Zeile AWT, Swing, JavaFX & SWT 2
G insert & JTextPane AWT, Swing, JavaFX & SWT 4
J JTextPane bekommt keinen Focus! AWT, Swing, JavaFX & SWT 3
S Farben eienr JTextPane dynamisch zuweisen AWT, Swing, JavaFX & SWT 2
R JTextPane scrollen vermeiden AWT, Swing, JavaFX & SWT 2
B Feste Breite einer JTextPane, die HTML anzeigt AWT, Swing, JavaFX & SWT 8
A JScrollPane in JTextPane AWT, Swing, JavaFX & SWT 2
B Swing Logging: Ein/Ausblenden eines scrollenden JTextPane AWT, Swing, JavaFX & SWT 2
F Java JTextPane AWT, Swing, JavaFX & SWT 13

Ähnliche Java Themen

Neue Themen


Oben