Einstieg

Ein Button (dt. Schaltfläche) ist ein UI-Control, das in der Regel mit der Maus durch "anklicken" bedient wird (eine Bedienung mit der Tastatur ist ebenfalls möglich). In der Regel wird durch das "anklicken" eine Aktion im Programm ausgelöst.

Das nachfolgende Beispiel zeigt ein Fenster mit einen einfachen Button, wobei noch keine Aktionen hinterlegt sind.

JavaFX Button

Das obige Beispiel kann durch folgendes Programm erzeugt werden.

import javafx.application.*;
import javafx.scene.*;
import javafx.scene.control.*;
import javafx.scene.paint.*;
import javafx.stage.*;

public class ButtonDemo extends Application {

  public static void main(String[] args) {
    launch(args);
  }

  public void start(Stage stage) throws Exception{
    Group root = new Group();
    Scene scene = new Scene(root, 200, 100, Color.WHITE);
    
    Button button = new Button("JavaFX - Button");

    button.setLayoutX(45);
    button.setLayoutY(40);
    
    root.getChildren().add(button);
    
    stage.setScene(scene);
    stage.setTitle("ButtonDemo");
    stage.show();
  }
}
itmapa.de - X2H V 0.21

Benutzeraktionen

Um auf die Betätigung eines Button zu reagieren steht uns die Methode setOnAction(EventHandler<ActionEvent> value) zur Verfügung. Dieser Methode wird häufig eine annonyme, innere Klasse übergeben, um auf die Betätigung des Button zu reagieren.

Im nachfolgenden Beispiel erweitern wir das Einstiegsbeispiel so, dass bei der Betätigung des Button "And action" auf der Systemausgabe ausgegeben wird.

import javafx.application.*;
import javafx.event.*;
import javafx.scene.*;
import javafx.scene.control.*;
import javafx.scene.paint.*;
import javafx.stage.*;

public class AndAction1 extends Application {

  public static void main(String[] args) {
    launch(args);
  }

  public void start(Stage stage) throws Exception{
    Group root = new Group();
    Scene scene = new Scene(root, 200, 100, Color.WHITE);
    
    Button button = new Button("JavaFX - Button");
    button.setLayoutX(45);
    button.setLayoutY(40);    
    
    
    button.setOnAction(new EventHandler<ActionEvent>() {
      public void handle(ActionEvent event) {
        System.out.println("And action");
      }
    });
    
    root.getChildren().add(button);           
    stage.setScene(scene);
    stage.setTitle("ButtonDemo");
    stage.show();
  }
}
itmapa.de - X2H V 0.21