JTextPane setText ignoriert \n

Empire Phoenix

Top Contributor
Hi denke dies ist ein relativ primitives Problem, aber ich komme einfach nicht weiter:

Ich habe ein JTextPane mit fester Größe, in das ich per setText("blablabal") text reinschreibe
dies funktioniert soweit, und macht auch am Ende der TextPane einen Zeilenumbruch.
Nun brache ich aber in dem text an einigen Stellen manuelle Zeilenumbrüche, und diese bekomme ich einfach nciht hin.

\n wird als text einfach ausgegeben
irget nen Kram im doc einzustellen hat nicht geholfen. (Styles sonstwas habe einfach ales was richtig klang durchprobiert.

Jetzt ist die Frage wie kann ich dafür sorgen das (zb) \n des textes als Zeilenumbruch interpretiert wird?
 
Sollte eigentlich ohne weiters zu machen sein? (gerade auch vorsichtshalber mal ausprobiert)
Wie machst du denn einen Zeilenumbruch?
Java:
textpane.setText("abcd \n efgh"); //richtig
textpane.setText("abcd \\n efgh"); //falsch
 
Naja ich bekomme den Text aus einer Datei (die aber selber erzeugt ist kann ich also problem los ändern)

qtext.setText("test\ntest") funktioniert

String eingelesenerText....
System.out.println(eingelesenerText);
qtext.setText(eingelesenerText);

funktioniert aber nicht.
Der System.out.printline Ausgabe:"Text\n Text"

Leider weiß ich jetzt aber nciht wieso das so ist. der Text wird aus einer UTF8 encodierten XML eingelesen.
Aber anscheinend ist da das problem
 
Naja, wenn es selbst auf der Konsole falsch erscheint, dann würde ich vermutlich, dass es falsch eingelesen wird. Wie und warum lässt sich natürlich ohne Code nicht sagen.
 
Hiermit lese ich die Datei ein

Java:
NodeList data = this.xml.getElementsByTagName("katalog");
 for(int i = 0;i<data.getLength();i++){
  Node katalog = data.item(i);
  if(katalog.getNodeType() == Node.ELEMENT_NODE){
   NamedNodeMap attr = katalog.getAttributes();	
   NodeList questions = katalog.getChildNodes();
   for(int j = 0; j < questions.getLength();j++){
    Node question = questions.item(j);
    if(question.getNodeType() == Node.ELEMENT_NODE){
     String qtext = qattr.getNamedItem("text").getNodeValue();
    }
   }
  }
 }

Hier der Teil mit dem ich das Problem habe.

Code:
<data>
	<katalog name="TestKatalog">
		<question text="Test \n Test ">
		</question>
	</katalog>
</data>
 
Ist doch klar, dass
Code:
\n
nicht als Steuerzeichen erkannt wird, es steht ja auch im Text... Versuch mal nach dem Einlesen
Code:
\\n
durch
Code:
\n
zu ersetzen.
 

Zurück
Oben