Mit der Klasse JTextArea lassen sich mehrzeilige Ein- bzw. Ausgabefelder erzeugen.
Im Beispiel wird ein mehrzeiliger Text in einer JTextArea ausgegeben. Der automatische Zeilenumbruch ist aktiviert und so eingestellt, dass ein Wort, welches nicht mehr ganz in die Zeile passt, komplett in die nächste Zeile verschoben wird.
Quellcode
Erläuterungen
Zeile 10
Unter der Bezeichnung taTestTextArea wird ein Attribut vom Typ JTextArea deklariert.
Zeile 22
Dem Attribut taTestTextArea wird ein neues Objekt der Klasse JTextArea zugewiesen.
Zeile 23
Der in taTestTextArea angezeigte Text wird in der Schriftart Tahoma, mit dem Schriftstil Font.PLAIN und der Schriftgröße 13 formatiert.
Zeile 24
Position und Größe von taTestTextArea werden festgelegt. Die linke obere Ecke von taTestTextArea hat die Koordinaten (25, 25). Seine Breite beträgt 255 und seine Höhe 63.
Zeile 25
Für taTestTextArea wird der automatische Zeilenumbruch aktiviert.
Zeile 26
Für taTestTextArea wird festgelegt, dass ein Wort, welches nicht mehr ganz in die Zeile passt, komplett in die nächste Zeile geschoben wird. Andernfalls erfolgt der Zeilenumbruch mitten im Wort.
Zeile 27
Der anzuzeigende Text wird taTestTextArea zugewiesen.
Zeile 28
taTestTextArea wird der contentPane hinzugefügt.
Soll eine JTextArea über Bildlaufleisten verfügen, muss sie in eine JScrollPane eingebettet werden.
Im Beispiel wird eine JTextArea in eine JScrollPane eingebettet. Auf diese Weise wird automatisch eine vertikale Bildlaufleiste eingeblendet, falls der in der JScrollPane enthaltene Text nicht komplett angezeigt werden kann.
Quellcode
Erläuterungen
Zeile 32
Unter der Bezeichnung scrollPane wird eine lokale Variable vom Typ JScrollPane deklariert und ihr ein neu erzeugtes Objekt dieser Klasse zugewiesen.
Zeile 33
Position und Größe von scrollPane werden festgelegt. Die linke obere Ecke von scrollPane hat die Koordinaten (25, 25). Seine Breite beträgt 255 und seine Höhe 63.
Zeile 34
Bettet taTestTextArea in scrollPane ein. Auf diese Weise wird automatisch eine vertikale Bildlaufleiste eingeblendet, falls der in taTestTextArea enthaltene Text nicht komplett angezeigt werden kann.
Zeile 35
scrollPane wird der contentPane hinzugefügt.
Zeile 49
An den Text, der bisher in taTestTextArea angezeigt wird, wird der Inhalt des übergebenen Strings angefügt.
Zeile 50
Setzt die Position des Cursors an den Anfang der taTestTextArea.
Aufgabe 17-3: Kapitalanlage mit fester Laufzeit (GUI)
Erstellen Sie für die in Aufgabe 14-4 erstellte Anwendung „Kapitalanlage mit fester Laufzeit“ folgende grafische Benutzeroberfläche:
Vorgaben
Nutzen Sie hierzu die vorbereiteten Pakete. Diese enthalten die in Aufgabe 14-4 erstellte Fachklasse Kapitalanlage und die Hilfsklasse Werkzeug.
Verwenden Sie zur Ausgabe der Kapitalentwicklung ein Objekt der Klasse JTextArea, dessen Text mit Hilfe der Methode setEditable(b: boolean) vor Änderungen durch den Benutzer geschützt wird.
Richten Sie den in den Eingabefeldern angezeigten Text rechtsbündig aus. Rufen Sie dazu von jedem JTextField die Methode setHorizontalAlignment(SwingConstants.Right) auf.
Durch das Betätigen der Schaltfläche Neu sollen alle Ein- und Ausgabefelder geleert werden.
Beim Programmstart und nach dem Betätigen der Schaltfläche Neu soll die Eingabemarke in das Eingabefeld tfAnfangskapital gesetzt werden.
Berücksichtigen Sie das Schichtenkonzept. Das heißt, ersetzen Sie die bisher genutzte UI-Klasse Benutzerkonsole durch die neu erstellte GUI-Klasse FensterKapitalanlage, ohne dass hierdurch Änderungen an der Fachklasse Kapitalanlage notwendig werden.