Helmichs Informatik-Lexikon

Textfield (Klasse)

Attribute

Nach dem Grundsatz der Datenkapselung interessieren uns die Attribute der Klasse hier nicht!

Konstruktor

Zur Erzeugung von Textfeldern gibt es vier Konstruktoren.

TextField()

Dieser Konstruktor erzeugt ein leeres Textfeld, das sehr schmal aussieht.

TextField(int laenge)

Hier wird ein leeres Feld mit gegebener Länge erzeugt. Das ist eine sehr nützliche Funktion für aufgeräumte Applets, wenn zum Beispiel untereinander liegende Textfelder alle die gleiche Länge haben sollen, damit es besser aussieht.

TextField(String text)

Hier wird ein Textfeld erzeugt, das den angegebenen Text enthält. Diese Funktion kann auch benutzt werden, um einfach einen Text in einem Applet anzuzeigen, obwohl es da bessere Methoden gibt.

TextField(String text, int laenge)

Ein Textfeld mit Text und der Länge laenge, quasi eine Kombination der beiden obengenannten Konstruktoren.

Wichtige Methoden

Zwei sondierende Methoden liefern den Text sowie die Länge des Textfeldes:

String getText()
int getColumns()

Zwei manipulierende Methoden können den Inhalt des Textfeldes sowie die Länge verändern; setText kann auch zum Löschen des Textfeldes verwendet werden.

void setText(String text)
void setColumns(int laenge)

Weitere nützliche Methoden (Auswahl)

void setBackground(Color c)
void setForeground(Color c)

Damit kann man schöne farbige Textfelder erzeugen!

void setBounds(int x,int y,int breite,int hoehe)

Damit kann die Position, Breite und Höhe eines Textfeldes genau bestimmen. Allerdings muss dann der Befehl setLayout(null) in die Init-Methode des Applets eingebaut werden.

void setFont(Font f)

Hiermit kann eine bestimmte Schriftart gesetzt werden. Der erste Parameter ist die Bezeichnung des Fonts, z.B. "Times New Roman". Der zweite Parameter steht für den Stil (0 = normal, 1 = fett, 2 = kursiv), und der dritte Parameter definiert die Größe des Fonts.

Beispiel-Quelltext

Hier ein Beispiel für einige der oben genannten Methoden:

setLayout(null);
t2.setBounds( 10,50,150,20);
t2.setBackground
   (new Color(255,220,220));
t2.setForeground
   (new Color(0,0,127));
t2.setFont
  (new Font("Arial",1,18));

Einlesen von Zahlen aus einem TextField

Eine wichtige Operation ist das Einlesen einer Zahl aus einem Objekt der KlasseTextField. An sich gibt ein solches Objekt über den Befehl getText nur einen String zurück. Wurde also die Zahl 18 in ein Objekt der KlasseTextField geschrieben, so erhält man mit getText den String "18" und nicht etwa die int-Zahl 18.

Betrachten Sie nun aber folgende Zeile:

int s = Integer.parseInt(eingabe.getText());

Mit dieser Zeile werden zwei Sachen gleichzeitig gemacht. Zunächst wird die Methode getText des Textfeldes eingabe aufgerufen. Als Ergebnis wird ein String zurückgeliefert. Dieser String ist gleichzeitig das Argument der Methode parseInt. Diese Methode gehört zur Klasse Integer. Integer ist nicht zu verwechseln mit dem Datentyp int, sondern es handelt sich tatsächlich um eine Klasse mit einer Vielzahl von Methoden zur Manipulation von int-Zahlen. Eine dieser Methoden ist parseInt, welche einen übergebenen String in eine int-Zahl umwandelt. Vorausgesetzt, der übergebene String kann überhaupt als int-Zahl interpretiert werden. Wenn Sie als Argument für parseInt zum Beispiel "Hallo Welt" übergeben, so kann die Methode natürlich nicht funktionieren. Sie müssen schon ein Argument wie "18" oder "-500" übergeben.