import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Spinner;
import javafx.scene.control.SpinnerValueFactory;
import javafx.scene.control.TextField;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;

public class Test extends Application {
    public static void main(String[] args) {
        Application.launch(args);
    }

    @Override
    public void start(Stage primaryStage) throws Exception {
        TextField textField = new TextField("Normal text field");
        textField.setOnAction(event -> {
            System.out.println("Normal action event: " + textField.getText());
            event.consume();
        });
        Spinner<Integer> integerSpinner = new Spinner<>(new SpinnerValueFactory.IntegerSpinnerValueFactory(0, 100, 50));
        integerSpinner.getEditor().setOnAction(event -> {
            System.out.println("Spinner action event: " + integerSpinner.getValue());
            event.consume();
        });
        integerSpinner.setEditable(true);
        VBox root = new VBox(textField, integerSpinner);
        root.setOnKeyPressed(event -> System.out.println("Key pressed: " + event.getCode()));
        primaryStage.setScene(new Scene(root, 300, 300));
        primaryStage.show();
    }
}
