JTextArea - automatischer Zeilenumbruch

Hallo allerseits!

JTextAreas haben die m.E. etwas seltsame Angewohnheit, nicht von alleine einen Zeilenumbruch einzufügen, wenn man am Ende angekommen ist.

Jetzt habe ich versucht, per Tastaturlistener nach jedem Tastenanschlag die Stringlänge von JTextArea.getText() zu prüfen und dann alle so und so viel Zeichen einen Umbruch zu machen.
Das funktioniert natürlich, aber nachdem ich die Schriftart zwecks schönerer Optik von Monospaced auf SansSerif umgestellt habe, sind natürlich nicht mehr alle Zeichen gleich breit und somit ist der starre Umbruch nach soundsoviel Zeichen nicht mehr die beste Lösung.

Gibt es eine Möglichkeit, dem JTextArea zu sagen "schau einfach, ob das Zeichen noch ohne Scrollen in die Zeile passt, wenn nicht, fang eine neue an!"?

Danke und MfG

Henning
 
Hallo!

Schau mal hier:
Code:
/**
 * 
 */
package de.tutorials.training;

import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;

/**
 * @author Darimont
 * 
 */
public class JTextAreaLineWrapExample extends JFrame {

	private JTextArea textArea;

	public JTextAreaLineWrapExample() {
		super("JTextAreaLineWrapExample");
		setDefaultCloseOperation(EXIT_ON_CLOSE);

		textArea = new JTextArea(10, 10);
		textArea.setLineWrap(true);
		textArea.setWrapStyleWord(true);

		add(new JScrollPane(textArea));
		pack();
		setVisible(true);
	}

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		new JTextAreaLineWrapExample();
	}
}

Gruß Tom
 
Zurück