Automatischer Zeilenumbruch bei einer TextArea

  • Themenstarter Themenstarter Guest
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
G

Guest

Gast
So, jetzt sind es genau 50min, die ich mit der Suchfunktion verbracht habe. Meistens hab ich nur gefunden : Benutz doch mal die Suchfunktion :roll: oder es hat nicht zu meinem Problem gepasst.

Wie bekomm ich einen automatischen Zeilenumbruch hin ? Hab ne dicke TextArea, aber wenn ich bis zum Ende der ersten Zeile schreibe wird nicht in der zweiten Zeile weitergeschrieben, sondern weiter in der ersten.
Danke schon mal für eure Mühe.
 
Die JTextArea hat eine methode die heißt.
setLineWrapper(boolean b);

Code:
JTextArea area = new JTextArea("Hallo");
area.setLineWrapper(true);

Geschieht vielleicht ein Wunder und es Funktioniert ;-)
 
Danke das ging aber schnell 🙂
Aber warum J ? Warum JTextArea und nicht einfach TextArea ?
Leider geht es noch nicht 🙁

setLineWrapper(boolean b); -> in den Konstruktor schreiben, oder ???
 
Oh, Verzeihung, es heißt setLineWrap(true);

Aber warum J ? Warum JTextArea und nicht einfach TextArea ?
Ganz einfach, es ist immer besser mit Swing statt mit AWT zu arbeiten, dass solltest Du dir angewöhnen.

setLineWrapper(boolean b); -> in den Konstruktor schreiben, oder ???
Nein, das war ein Beispiel, wie diese Methode aufgebaut ist.
Gib doch mal den Quelltext, dann können wir Dir vielleicht besser helfen[/quote]
 
Ok super danke es funktioniert !
Aber da hab ich schon das nächste Problem festgestellt. Hmm wie soll ich s beschreiben..
Also, wenn man ganz unten am Textfeld angekommen ist, und weiterschreibt, wird zwar weitergeschrieben, aber man kann nicht runterscrollen, um den Text sehen zu können.
Kann man noch irgendwie einen vertikal Pfeil in den Rand des JTextAreas einbauen ?
 
Code:
deineTextarea.setSelection(deineTextArea.getCharCount()-1);
ich entschuldige mich falls die methoden nicht exakt so heissen, ich habe das letzte mal vor nem halben jaghr mit SWT/AWT programmiert .... SWING ist zwar vorteilhafter in der benutzung, aber ioch finde die Listen in SWT viel komfortabler und ausserdem hör ich immer das swt schneller als swing ist

zur scrollbar
Code:
new TextArea(shell,SWT.V_SCROLL);
 
Das halte ich für ein Gerücht, dass AWT schneller ist.
Ich würde das mit dem Scrollen so lösen.

Code:
JTextArea area = new JTextArea("name");
JScrollPane js = new JScrollPane(area);
js.setBounds(int,int,int,int);
this.getContentPane().add(js);

Natürlich musst du die int Werte durch richtige Zahlen ersetzen
Gruß
 
muss das nicht genau andersrum?? erst das scrollpane dann die jtextarea rein ?? BTW es wurde doch gesagt das SWT/AWT verwendet wurde
 
Nö, das funktioniert so, habe gerade ein Programm laufen, wo ich das genauso habe.
Und erst duch das add wird ja alles aktiv.
Und er sollte schon gleich richtig lernen Swing zu benutzen.
Wenn Du Dir die heutigen Java-Bücher anschaust, steht immer geschrieben, dass man zwar mit AWT anfangen soll, aber letztendlich Swing benutzen soll.
Ich arbeite in einem großen Softwareunternehmen und wir benutzen nur Swing, daher kann es nicht schlecht sein.

Gruß
 
alaska94 hat gesagt.:
Wenn Du Dir die heutigen Java-Bücher anschaust, steht immer geschrieben, dass man zwar mit AWT anfangen soll,
In welchen Büchern steht das denn? Das wär mir ganz neu. Ich kenne ausschließlich Empfehlungen kein AWT zu benutzen.

BTW: SWT ist nicht AWT und sollte nicht mit diesem gleichgesetzt werden.
 
Danke für die Antworten, aber es geht immer noch nicht. So langsam raste ich glaub ich aus.

Dieser Fehlermeldung bekommen ich : Exception in thread "main" java.lang.Error: Unresolved compilation problem:

at dvdverleih.EMail.main(EMail.java:90)

Diese Zeile wird unterstrichen : JScrollPanel js = new JScrollPanel(area);

Die JTextArea und JScrollPanel habe ich oben deklariert, wo ich auch die anderen Textfelder usw. deklariert habe, und die Werte habe ich im Konstruktor gesetzt. Was ist falsch daran ????
 
Poste mal die Zeilen um diese Zeile.
Ist das alles was er dir als Fehlermeldung ausgibt?

[edit]Wie ich grad' sehe, kann dieser Error so ziemlich alles bedeuten[/edit]
 
Jo, das ist alles, was ausgespuckt wird >=(

Code:
public class EMail     extends    Frame                                       
                       implements WindowListener, ActionListener                     
{                                                                           
 Panel p = new Panel();                                                          

 private Button btNew   = new Button(" Neue eMail ");
 private Button btSave  = new Button(" eMail speichern ");
 private Button btSend  = new Button(" eMail verschicken ");
 private Button btClose = new Button(" Schließen ");
 
 private Label l1       = new Label("eMail ");
 private Label l2       = new Label("Empfänger: ");                                          
 private Label l3       = new Label("Betreff: ");  
 private Label l4       = new Label("Text: ");                                                                            

 TextField tf1          = new TextField ();     
 TextField tf2          = new TextField ();
 //JTextArea tf3        = new JTextArea ();//

 JTextArea tf3   = new JTextArea("");
 JScrollPanel js = new JScrollPanel(tf3); 
 
  public EMail()
  { 
  setExtendedState(Frame.MAXIMIZED_BOTH);
 	      
  tf3.setLineWrap(true);
  
 	add(p);                                                                     
 	p.setLayout(null);                                                          
 	p.setBackground(Color.lightGray);                                           
 	this.addWindowListener   (this);
 	btNew.addActionListener  (this);
 	btSave.addActionListener (this);
 	btClose.addActionListener(this);
 	
 	btNew.setBounds  (new Rectangle (750,490,110,21));
 	btSave.setBounds (new Rectangle (750,540,110,21));
    btSend.setBounds (new Rectangle (750,570,110,21));
 	btClose.setBounds(new Rectangle (750,600,110,21));
 	
 	js.setBounds(400,370,300,250);
 	this.getContentPanel().add(js);
 
Das scheint eher ein Problem deiner VM zu sein.
Es könnte vllt. daran liegen, weil du AWT- und Swing-Komponenten miteinander mischst. Das macht man normalerweise nicht, weil die sich nicht miteinander vertragen.

Mehr dazu auch hier.
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben