2.7 NumberField /TextField |
|
1. Java Editor 2. Sommer-/Winterzeit 3. Zeitzonen |
Für die Eingabe einzeiliger, kurzer Texte dient die Klasse TextField. Sehr ähnlich dazu ist die Klasse NumberField, die analog zur Eingabe von Zahlen verwendet werden kann. Sowohl über dasTextField als auch über das NumberField können auch Informationen ausgegeben werden. Das Vorgehen zum Erzeugen eines Numberfields ist anolog zum Erzeugen eines Labels bzw. Buttons:
Wichtige Attribute sind:
Da Objekte der Klasse NumberField bzw. TextField werden zur Ein und Ausgabe von Zahlen bzw. Text genutzt werden, ist es wichtig die entsprechenden Methoden zu kennen:
Das Ereigniss bei dem Numberfield, auf das etwas passieren soll ist die Änderung des Textes. Ähnlich zur ActionPerformed-Methode bei den Buttons gibt es eine textValueChanged-Methode, deren Methodenrumpf sinnvoll gefüllt werden muss. Eine sinnvolle Aktion ist in unserem Kontext das Setzen der Stunde bzw. Minute. Daraus ergibt sich folgende textValueChanged-Methode für das Nummernfeld numberFieldStunden und analog dazu das entsprechende für die Minuten. public void numberFieldStunden_TextValueChanged(TextEvent evt) { zeit.StundenSetzen( numberFieldStunden.getInt()); } Da wir nun eine Zeitanzeige haben, können nun die ActionPerformed-Methoden der Buttons die Zeitumstellung durchführen, d. h.
Da aktuell nicht angezeigt wird, ob Sommer- oder Winterzeit ist, kann man über eine bedingte Anweisung dem Benutzer noch eine Rückmeldung bei einem Klick auf den "falschen" Button geben: public void buttonSommerzeit_ActionPerformed(ActionEvent evt) { if(zeit.SommerzeitGeben()==false) { zeit.AufSommerzeitUmstellen(); numberFieldStunden.setInt(zeit.StundeGeben()); Ausgabe.setText(" "); } else { Ausgabe.setText("Es ist bereits Sommerzeit!"); } } Analog die Aktion des Winterzeitbuttons programmieren und nicht vergessen regelmäßig zu testen.
Hinweise für Experten:
|