Java Reference
In-Depth Information
Sie wollen nun aber programmieren, dass der Fokus an die Komponente jTFFahrenheit
übergeben wird. Sie realisieren das, indem Sie die entsprechende Komponente den
Fokus anfordern lassen. Jede von JComponent abgeleitete Klasse erbt eine Methode mit
dem Namen requestFocus . Sie besitzt die folgende Schnittstelle:
void requestFocus()
Mit der Anweisung jTFFahrenheit.requestFocus() sorgen Sie dafür, dass diese Kompo-
nente den Fokus erhält. Ergänzen Sie diese Anweisung am Ende der Methode jBtnUm-
rechnenActionPerformed , und testen Sie die Verhaltensänderung des Programms.
Sie werden feststellen, dass der Cursor nach jeder Berechnung für die nächste Eingabe in
das TextField jTFFahrenheit gesetzt wird. Allerdings muss die alte Eingabe noch
gelöscht werden, bevor die nächste Eingabe erfolgen kann.
9
Eine weitere Verbesserung erreichen Sie dadurch, dass Sie den alten Eintrag markieren
lassen. Dadurch wird der alte Eintrag durch Eingabe des neuen Zahlenwertes direkt
überschrieben. Die TextField-Komponente bringt auch dafür eine passende Methode
mit. Mit der Schnittstelle void selectAll() liefert sie ebenfalls kein Ergebnis zurück und
erwartet keine Argumente. Mit der Ergänzung der Anweisung jTFFahrenheit.select-
All() erreichen Sie eine weitere Verbesserung Ihres Programms.
Ich hoffe, dass ich mit diesen beiden Ergänzungen Ihr Interesse an Programmoptimie-
rungen geweckt habe. Denn vor den Übungsaufgaben zu diesem Kapitel möchte ich
Ihnen noch eine weitere Verbesserung vorschlagen. Sie ist zwar nicht durch das Einfü-
gen einer einzelnen Anweisung zu erreichen, der Aufwand ist aber dennoch relativ
gering.
Wenn Sie Ihre Anwendung in der jetzigen Fassung für mehrere Umrechnungen nachein-
ander genutzt haben, werden Sie sicher auch festgestellt haben, dass Sie nach jeder Neu-
eingabe, die jetzt zweifellos sehr komfortabel vonstatten geht, zur Maus greifen müssen,
um den Berechnungsvorgang zu starten. Sie kennen von anderen Anwendungen viel-
leicht die Möglichkeit, eine Eingabe mit der (¢)-Taste abzuschließen und damit auch
gleichzeitig den Berechnungsvorgang zu starten. Um dieses Verhalten abzubilden sind
einige Überlegungen erforderlich, und dabei spielt auch der Fokus wieder eine entschei-
dende Rolle. Das Programm soll auf eine bestimmte Taste reagieren. Die folgenden bei-
den Fragen müssen Sie sich beantworten:
Welche Komponente registriert, dass die betreffende Taste betätigt wurde?
Wie kann die Komponente die betreffende Taste identifizieren?
Search WWH ::




Custom Search