Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > Java
You last visited: Today at 01:19

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[Java] Neue Zeile im EditorPane

Discussion on [Java] Neue Zeile im EditorPane within the Java forum part of the Coders Den category.

Reply
 
Old   #1
 
panic''s Avatar
 
elite*gold: 21
Join Date: Oct 2012
Posts: 593
Received Thanks: 82
[Java] Neue Zeile im EditorPane

Hallo,

habe wiedermal ein Problem, ich krieg es einfach nicht hin, eine neue Zeile im EditorPane zu schreiben. Man soll einen Text in ein TextField schreiben, und danach soll es ins EditorPane, aber durch setText wird der Text halt immer ersetzt. Er soll da bleiben und der neue Texte in eine neue Zeile.
Mit einer TextArea kriege ich das ganz einfach mit dem Befehl
Code:
TextField.append("Anweisung bla");
hin.. Aber nicht mit dem EditorPane.. :/

Mein Code:

Code:
if (textField.getText().equals("")){
					JOptionPane.showMessageDialog(null, "Text erforderlich!");
				
			}
				else {
				editorPane.setText("textField.getText()");
				textField.setText("");
panic' is offline  
Old 09/29/2015, 19:50   #2



 
Menan's Avatar
 
elite*gold: 0
The Black Market: 169/0/0
Join Date: Sep 2008
Posts: 9,483
Received Thanks: 3,111
Das JPaneEditorPane unterstützt soweit ich weiß html.

Versuch einfach deinen Text durch String konkatenation zu verbinden mit einem <br> dazwischen.

Code:
EditorPane.setText(EditorPane.getText() + "<br>" + textField.getText());
Irgendwie so in die Richtung
Menan is offline  
Old 09/29/2015, 20:57   #3
 
Zunft's Avatar
 
elite*gold: 0
Join Date: Mar 2013
Posts: 3,184
Received Thanks: 1,317
Quote:
Originally Posted by Menan View Post
Das JPaneEditorPane unterstützt soweit ich weiß html.

Versuch einfach deinen Text durch String konkatenation zu verbinden mit einem <br> dazwischen.

Code:
EditorPane.setText(EditorPane.getText() + "<br>" + textField.getText());
Irgendwie so in die Richtung
Da braucht es kein HTML, es reicht eine simple Escapesequenz

Code:
editorPane.setText(editorPane.getText() + "\n" + textField.getText());
oder

Code:
Document doc = editorPane.getDocument();
doc.insertString(doc.getLength(), "\n" +  textField.getText(), null);
In Anführungszeichen schreibt man übrigens lediglich Text, den du selbst eingibst, keinen Befehl.


So nicht:
Code:
editorPane.setText("textField.getText()");


Sondern so:
Code:
editorPane.setText("Befehl: " + textField.getText());
Zunft is offline  
Old 09/30/2015, 13:42   #4
 
panic''s Avatar
 
elite*gold: 21
Join Date: Oct 2012
Posts: 593
Received Thanks: 82
Quote:
Originally Posted by Admiral Sack View Post
Da braucht es kein HTML, es reicht eine simple Escapesequenz

Code:
editorPane.setText(editorPane.getText() + "\n" + textField.getText());
oder

Code:
Document doc = editorPane.getDocument();
doc.insertString(doc.getLength(), "\n" +  textField.getText(), null);
In Anführungszeichen schreibt man übrigens lediglich Text, den du selbst eingibst, keinen Befehl.


So nicht:
Code:
editorPane.setText("textField.getText()");


Sondern so:
Code:
editorPane.setText("Befehl: " + textField.getText());
Ich habe es jetzt mit
Code:
editorPane.setText(editorPane.getText() + "\n" + textField.getText());
probiert. Jetzt schreibt er aber nicht mehr in den editorPane rein.. :/
panic' is offline  
Old 09/30/2015, 13:44   #5



 
Menan's Avatar
 
elite*gold: 0
The Black Market: 169/0/0
Join Date: Sep 2008
Posts: 9,483
Received Thanks: 3,111
Wie bereits geschrieben unterstützt das EditorPane kein "\n"...

Probier es mit dem <br> Tag
Menan is offline  
Old 09/30/2015, 14:04   #6
 
panic''s Avatar
 
elite*gold: 21
Join Date: Oct 2012
Posts: 593
Received Thanks: 82
Quote:
Originally Posted by Menan View Post
Wie bereits geschrieben unterstützt das EditorPane kein "\n"...

Probier es mit dem <br> Tag
Das klappt auch nicht, weil der Text ja gar nicht erst im EditorPane rein kommt
panic' is offline  
Old 09/30/2015, 14:36   #7



 
Menan's Avatar
 
elite*gold: 0
The Black Market: 169/0/0
Join Date: Sep 2008
Posts: 9,483
Received Thanks: 3,111
Vermutlich musst du dein EditorPane erst initialisieren.
Da null zurückgegeben wird von getText(), falls dein Editorpane bereits Text enthält...

Code:
if(EditorPane.getText() == null){
EditorPane.setText(textField.getText());
}
else{
editorPane.setText(editorPane.getText() + ("\n" bzw "<br>") + textField.getText());
}
Menan is offline  
Old 09/30/2015, 15:14   #8
 
Zunft's Avatar
 
elite*gold: 0
Join Date: Mar 2013
Posts: 3,184
Received Thanks: 1,317
Posted doch einfach mal den relevanten Ausschnitt deines Quellcodes
Zunft is offline  
Old 09/30/2015, 16:25   #9
 
elite*gold: 0
Join Date: Jul 2009
Posts: 211
Received Thanks: 137
Damit geht es:
PHP Code:
@SuppressWarnings("serial")
    class 
MyEditorPane extends JEditorPane
    
{
        public 
void appendText(final String newText)
        {
            if(
newText == null)return;
            try 
            {
                
Document doc getDocument();
                
doc.insertString(doc.getLength(), System.lineSeparator() + newText,new SimpleAttributeSet());
            }
            catch (
BadLocationException e)
            {
                
e.printStackTrace();
            }
        }
    } 
Eventuell musst du mit den AttributeSet noch ein wenig rumspielen. Ich kann aber nicht sagen ob das HTML-rendering dann noch einwandfrei funktioniert.
Mysthik is offline  
Reply


Similar Threads Similar Threads
AutoIT Neue Zeile anfangen
03/23/2011 - AutoIt - 4 Replies
Hey ihr Coders, Ich habe letzdens mit AutoIT angefangen. Läuft auch alles ganz okay. Aber ich bekomme es irgendwie einfach nicht hin eine neue zeile anzufangen. Ich habe folgendes geschrieben:
[Suggestion] Neue Section - PHP/HTML/CSS/AJAX/JAVA
12/09/2010 - Suggestions & Feedback - 3 Replies
Hey. Also ich finde es besteht immer große Nachfrage zum eigenen erstellen von Homepages oder das selber erstellen von schönen Javascripts und ähnliches. Deswegen halte ich es nicht für verkehrt eine Section für HTML / PHP / CSS und eventuell AJAX und Javascript zu erstellen. Ich denke es würden auch oft Fragen zu PHP Scripts kommen vorallem in Verbindung mit einer MySQL Datenbank. Wenn du es für eine gute Idee hällst so stimme doch bitte mit Ja ab :)



All times are GMT +2. The time now is 01:19.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.