Verarbeitung von Numeralia mit JavaFX in Java
Wenn Numeralia aus einem Textfeld »text« eingelesen werden, so sind sie zunächst als eine Zeichenfolge »text.getText()« gegeben. Der int-Wert dieser Zeichenfolge kann dann mit »java.lang.Integer.parseInt( text.getText() )« ausgedrückt werden.
Umgekehrt kann eine int-Zahl mit »java.lang.String.valueOf« als eine Zeichenfolge ausgedrückt werden, die dann mit »text.setText« in ein Textfeld »text« geschrieben werden kann.
Das folgende Beispielprogramm zeigt, wie das Numerale in einem Textfeld bei jeder Eingabe (Betätigung der Eingabetaste) verdreifacht werden kann (solange es nicht schon zu groß ist).
Main.java
public final class Main extends javafx.application.Application
{ public void start( final javafx.stage.Stage window )
{ final javafx.scene.control.TextField text
= new javafx.scene.control.TextField( "10" );
text.setOnAction
( object ->
{ text.setText
( java.lang.String.valueOf
( 3 * java.lang.Integer.parseInt( text.getText() ))); });
final javafx.scene.Scene scene = new javafx.scene.Scene( text );
window.setScene( scene );
window.show(); }}transcript
Übungsaufgaben
/ Übungsaufgabe
Schreiben Sie ein Programm, das von Zentimeter nach Millimeter umrechnet.
Dieses Programm soll wie oben gezeigt den Zentimeter-Wert vom Benutzer einlesen und dann den Millimeter-Wert als Ergebnis für den Benutzer sichtbar machen.
/ Übungsaufgabe
Erweitern Sie das Programm aus der vorigen Aufgabe so, daß auch in die andere Richtung umgewandelt werden kann.
Der Benutzer soll dabei die Möglichkeit haben, nach seiner Wahl, entweder von Zentimeter in Millimeter oder von Millimeter in Zentimeter umrechnen zu lassen.
(Falls Sie die vorige Aufgabe nicht bearbeitet haben sollten, können Sie statt dessen auch das obenstehende Beispielprogramm so überarbeiten, daß man damit sowohl mit 3 multiplizieren als auch durch 3 dividieren kann.)
/ Übungsaufgabe
Fügen Sie zu dem Programm eine Tastfläche hinzu, welche das Umrechnen startet.
Das folgende Fragment zeigt das Anlegen einer Tastfläche.
- Tastfläche »button« anlegen
final javafx.scene.control.Button button
= new javafx.scene.control.Button( "Umrechnen" );
Zur hierarchischen Einordnung des Referenztyps »javafx.scene.control.Button« findet sich schon etwas in dem Hierarchiediagramm der vorigen Lektion.
Das folgende abstrakte Fragment deutet an, wie die „Verdrahtung“ (also die Verbindung) von einer Tastfläche zu einem Block so hergestellt werden kann, daß der Block bei Betätigung der Tastfläche aktiviert wird.
- Block aktivieren
- button.setOnAction( object -> … );