title: How to Multiple setOnAction on the same button JavaFX
body: <p>I'm trying to make the button <strong>jugar</strong> validates and returns value from a textbox and 3 drop boxes, there must be a way to validate more than one values, for example, the login button, when you type username and password. </p>
  
  <p>here is the code</p>
  
  <pre><code>        package application;
  
          import javafx.scene.control.Button;
          import javafx.scene.control.ChoiceBox;
          import javafx.scene.control.TextField;
          import javafx.application.Application;
          import javafx.event.ActionEvent;
          import javafx.event.EventHandler;
          import javafx.geometry.Insets;
          import javafx.stage.Stage;
          import javafx.scene.Scene;
          import javafx.scene.layout.BorderPane;
          import javafx.scene.layout.GridPane;
          import javafx.scene.layout.StackPane;
  
  
          public class Main extends Application implements EventHandler&lt;ActionEvent&gt;{
  
          // crea los botones 
          Button historial;   
          Button jugar;
  
  public static void main(String[] args) {
      launch(args);
  }
  
  @Override
  //nombre de la ventana principal
  public void start(Stage primaryStage) throws Exception {
      primaryStage.setTitle("Football Simulator 2016");
  </code></pre>
  
  <p>here the drop lists</p>
  
  <pre><code>    //crea los drop list
      ChoiceBox&lt;String&gt; jugadasArbitro = new ChoiceBox&lt;&gt;();
      jugadasArbitro.getItems().addAll("Saque de banda","Tiro de esquina","Falta","Falta(Tarjeta amarilla)", "Falta (Tarjeta roja)", "Mano","Posicion adelantada","Penal","Fuera de juego", "Gol");
      ChoiceBox&lt;String&gt; jugadasOfensivas = new ChoiceBox&lt;&gt;();
      jugadasOfensivas.getItems().addAll("Pase","Pase largo","Tiro a puerta");
      ChoiceBox&lt;String&gt; jugadasDefensivas = new ChoiceBox&lt;&gt;();
      jugadasDefensivas.getItems().addAll("Intercepcion");
  </code></pre>
  
  <p>here i have setOnAction listeners</p>
  
  <pre><code>    //inicializa botones
      TextField tiempo = new TextField();
      historial = new Button("Historial");
      historial.setOnAction(this);
      jugar= new Button("Jugar");
      jugar.setOnAction(e -&gt; isInt(tiempo,tiempo.getText()));
      jugar.setOnAction(e -&gt; getArbitro(jugadasArbitro));
      jugar.setOnAction(e -&gt; getOfensiva(jugadasOfensivas));
      jugar.setOnAction(e -&gt; getDefensa(jugadasDefensivas));
  
      //forma del Gui y posiciona los botones
      GridPane grid = new GridPane();
      grid.setPadding(new Insets(10,10,10,10));
      grid.setVgap(8);
      grid.setHgap(10);
      GridPane.setConstraints(historial, 1, 3);
      GridPane.setConstraints(jugar, 2, 2);
      GridPane.setConstraints(jugadasArbitro, 3, 3);
      GridPane.setConstraints(jugadasOfensivas, 3, 4);
      GridPane.setConstraints(jugadasDefensivas, 3, 5);
      grid.getChildren().addAll(historial, jugadasArbitro,jugadasDefensivas,jugadasOfensivas,jugar,tiempo);
  
      //tamanio de la ventana
      Scene scene = new Scene(grid, 540,300);
      primaryStage.setScene(scene);
      primaryStage.show();
  }
  </code></pre>
  
  <p>the methods to read the drop box value</p>
  
  <pre><code>//leen el valor de los drop box
  private void getDefensa(ChoiceBox&lt;String&gt; jugadasDefensivas) {
      // TODO Auto-generated method stub
      String opcionDefensa = jugadasDefensivas.getValue();
      System.out.println(opcionDefensa);
  }
  
  private void getOfensiva(ChoiceBox&lt;String&gt; jugadasOfensivas) {
      // TODO Auto-generated method stub
      String opcionOfensiva = jugadasOfensivas.getValue();
      System.out.println(opcionOfensiva);
  }
  
  private void getArbitro(ChoiceBox&lt;String&gt; jugadasArbitro) {
      // TODO Auto-generated method stub
      String opcionArbitro = jugadasArbitro.getValue();
      System.out.println(opcionArbitro);
  }
  
  //valida que el tiempo solo sea INT
  private boolean isInt(TextField tiempo, String message) {
      // TODO Auto-generated method stub
      try{
          int minutos = Integer.parseInt(tiempo.getText());
          return true;
      }catch (NumberFormatException e){}
      System.out.println("Error: introduzca numeros solamente");
      return false;
  
  }
  
  @Override
  public void handle(ActionEvent event) {
  
  
  }
  
  }
  </code></pre>