Date: Fri, 10 Nov 2023 15:11:48 +0100
Subject: add new repo
---
.../hjp5/html/k100212.html | 402 +++++++++++++++++++++
1 file changed, 402 insertions(+)
create mode 100644 Master/Reference Architectures and Patterns/hjp5/html/k100212.html
(limited to 'Master/Reference Architectures and Patterns/hjp5/html/k100212.html')
diff --git a/Master/Reference Architectures and Patterns/hjp5/html/k100212.html b/Master/Reference Architectures and Patterns/hjp5/html/k100212.html
new file mode 100644
index 0000000..fab6ec7
--- /dev/null
+++ b/Master/Reference Architectures and Patterns/hjp5/html/k100212.html
@@ -0,0 +1,402 @@
+
+
+
+Handbuch der Java-Programmierung, 5. Auflage
+
+
+
+
+
+
+
+
+
+
+
+
+32.6 TextField
+
+
+
+
+
+Ein TextField
+dient zur Darstellung und zur Eingabe von Text. Sowohl der Anwender
+als auch das Programm können den dargestellten Text auslesen
+und verändern.
+
+
+
+
+
+
+public TextField()
+
+public TextField(int width)
+
+public TextField(String text)
+
+public TextField(String text, int width)
+
+
+ |
+
+java.awt.TextField |
+
+
+
+
+Der parameterlose Konstruktor erzeugt ein leeres Textfeld, in das
+der Anwender beliebig viel Text eingeben kann. Wird mit width
+die Breite des Textfeldes vorgegeben, so beschränkt sich die
+Anzahl der auf dem Bildschirm angezeigten Zeichen auf den angegebenen
+Wert. Die Anzahl einzugebender Zeichen wird allerdings nicht
+begrenzt. Ist der Text länger, scrollt er innerhalb des Textfelds.
+Mit dem Parameter text kann
+eine Zeichenkette vorgegeben werden, die beim Aufruf des Textfeldes
+vorgelegt wird.
+
+
+Die Klasse Textfield ist aus
+TextComponent
+abgeleitet. Sie besitzt eine ganze Reihe von Methoden, mit denen es
+möglich ist, auf den Text zuzugreifen oder die Eigenschaften
+des Textfeldes zu verändern. Die Methoden getText
+und setText
+werden zum Lesen und Verändern des Textes verwendet:
+
+
+
+
+
+
+public String getText()
+
+public void setText(String text)
+
+
+ |
+
+java.awt.TextField |
+
+
+
+
+Mit getColumns
+kann die Anzahl der darstellbaren Zeichen des Textfeldes abgefragt
+und mit setColumns
+verändert werden:
+
+
+
+
+
+
+public int getColumns()
+
+public void setColumns(int columns)
+
+
+ |
+
+java.awt.TextField |
+
+
+
+
+Zwei weitere Methoden stehen für das Markieren von Text zur Verfügung:
+
+
+
+
+
+
+public void selectAll()
+
+public void select(int first, int last)
+
+
+ |
+
+java.awt.TextField |
+
+
+
+
+selectAll
+markiert den kompletten Text und select
+den Bereich von first bis last
+(die Zählung beginnt bei 0). Mit den beiden Methoden getSelectionStart
+und getSelectionEnd
+kann die aktuelle Selektion abgefragt werden, getSelectedText
+liefert den selektierten Text:
+
+
+
+
+
+
+public int getSelectionStart()
+
+public int getSelectionEnd()
+
+public String getSelectedText()
+
+
+ |
+
+java.awt.TextField |
+
+
+
+
+Auf die aktuelle Cursorposition innerhalb des Textes kann mit den
+Methoden getCaretPosition
+und setCaretPosition
+zugegriffen werden:
+
+
+
+
+
+
+public int getCaretPosition()
+
+public void setCaretPosition(int position)
+
+
+ |
+
+java.awt.TextField |
+
+
+
+
+Des weiteren kann man verhindern, dass der Text geändert wird,
+und es besteht die Möglichkeit, verdeckte Eingaben (etwa für
+Paßwörter) zu realisieren:
+
+
+
+
+
+
+public void setEditable(boolean allowed)
+
+public boolean isEditable()
+
+public void setEchoCharacter(char c)
+
+public char getEchoChar()
+
+
+ |
+
+java.awt.TextField |
+
+
+
+
+Durch einen Aufruf von setEditable
+mit false
+als Parameter werden weitere Eingaben unterbunden. Der aktuelle Status
+kann mit isEditable
+abgefragt werden. Mit Hilfe von setEchoCharacter
+kann ein Zeichen übergeben werden, das bei jedem Tastendruck
+anstelle des vom Anwender eingegebenen Zeichens ausgegeben wird. Durch
+Übergabe eines '*' kann beispielsweise die verdeckte Eingabe
+eines Paßworts realisiert werden.
+
+
+Ein Textfeld generiert ein Action-Event, wenn der Anwender innerhalb
+des Textfeldes die ENTER-Taste drückt. In diesem Fall liefert
+die Methode getActionCommand
+des Action-Events den Inhalt des Textfeldes. Eine Methode setActionCommand,
+die es wie bei Buttons erlaubt, den Rückgabewert von getActionCommand
+zu verändern, gibt es bei Textfeldern nicht. Um die Action-Events
+mehrerer Textfelder, die einen gemeinsamen Empfänger haben, unterscheiden
+zu können, kann mit getSource
+die Ereignisquelle abgefragt werden. Wird ein gemeinsamer Empfänger
+für alle Action-Events verwendet, so kann das von getSource
+gelieferte Objekt mit dem Operator instanceof
+daraufhin untersucht werden, ob es sich um ein TextField
+oder einen Button
+handelt. Für das nachfolgende Beispiel könnte das etwa so
+aussehen:
+
+
+
+
+
+
+
+
+001 /* TextField1.inc */
+002
+003 public void actionPerformed(ActionEvent event)
+004 {
+005 Object obj = event.getSource();
+006 if (obj instanceof TextField) {
+007 System.out.println(
+008 "ButtonAction: "+event.getActionCommand()
+009 );
+010 } else if (obj instanceof Button) {
+011 if (event.getActionCommand().equals("Ende")) {
+012 endDialog();
+013 }
+014 }
+015 }
+
+ |
+
+TextField1.inc |
+
+
+
+Listing 32.6: Verwendung von Textfeldern