I am trying to create a dice rolling GUI in javafx. the program should display a die with a button, and when the button is clicked it should change the image o the corresponding random number. I am not sure how to get my button to work. Below is the code I have written and my Die class:
public class Die {
   protected int sideShowing;
   public Die() {
   }
   public void roll() {
      sideShowing = (int)(Math.random()*6) + 1;
   }
   public int getValue() {
      return sideShowing;
   }
   @Override
   public String toString(){
      switch(sideShowing){
         case 1: return "One";
         case 2: return "Two";
         case 3: return "Three";
         case 4: return "Four";
         case 5: return "Five";
         case 6: return "Six";
         default: return "No side";
      }
   }
 @Override
   public boolean equals(Object o){
      if(o instanceof Die){
         return this.getValue() == ((Die)o).getValue();
      }else{
         return false;
      }
   }
}
import javafx.application.Application;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.layout.StackPane;
import javafx.scene.shape.Rectangle;
import javafx.scene.paint.Color;
import javafx.scene.image.ImageView;
import javafx.scene.image.Image;
import javafx.scene.text.Text;
import javafx.geometry.Pos;
import javafx.scene.layout.VBox;
import javafx.scene.control.Button;
import javafx.scene.control.TextField;
import javafx.scene.layout.FlowPane;
import javafx.scene.control.ComboBox;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
public class DiceRoll extends Application{
   //add the start method
   @Override
   public void start(Stage primaryStage){
   Rectangle r1 = new Rectangle(300, 200);
   r1.setFill(Color.WHITE);
   Die die1 = new Die();
   Die die2 = new Die();
   die1.getValue();
   die2.getValue();
   Image image = new Image("Dice1.png");
   ImageView Dice1 = new ImageView(image);
      Dice1.setFitHeight(50);
      Dice1.setFitWidth(50);
   Image image2 = new Image("Dice2.png");
   ImageView Dice2 = new ImageView(image2);
      Dice2.setFitHeight(50);
      Dice2.setFitWidth(50);
   Image image3 = new Image("Dice3.png");
   ImageView Dice3 = new ImageView(image3);
      Dice3.setFitHeight(50);
      Dice3.setFitWidth(50);
   Image image4 = new Image("Dice4.png");
   ImageView Dice4 = new ImageView(image4);
      Dice4.setFitHeight(50);
      Dice4.setFitWidth(50);
   Image image5 = new Image("Dice5.png");
   ImageView Dice5 = new ImageView(image5);
      Dice5.setFitHeight(50);
      Dice5.setFitWidth(50);
   Image image6 = new Image("Dice6.png");
   ImageView Dice6 = new ImageView(image6);
      Dice6.setFitHeight(50);
      Dice6.setFitWidth(50);
   VBox vBox = new VBox(50);
   vBox.setAlignment(Pos.BASELINE_LEFT);
   Button btn = new Button();
    btn.setText("Roll Die!");
    btn.setOnAction(new EventHandler<ActionEvent>() {
        @Override
        public void handle(ActionEvent event) {
             if(die1.toString() == "one"){
               vBox.getChildren().add(Dice1);
             }
             else if(die1.toString() == "two"){
               vBox.getChildren().add(Dice2);
             }
             else if(die1.toString() == "three"){
               vBox.getChildren().add(Dice3); 
             }
             else if(die1.toString() == "four"){
               vBox.getChildren().add(Dice4);
             }
             else if(die1.toString() == "five"){
               vBox.getChildren().add(Dice5);
             }
             else if(die1.toString() == "six"){
               vBox.getChildren().add(Dice6);
             }
        }
    });  
   StackPane sPane = new StackPane();
   sPane.getChildren().add(vBox);
   VBox vBox2 = new VBox(50);
   vBox2.setAlignment(Pos.BOTTOM_CENTER);
   vBox2.getChildren().add(sPane); //Dice
   StackPane sPane2 = new StackPane();
   sPane2.getChildren().add(r1);
   sPane2.getChildren().add(sPane);
   sPane2.getChildren().add(vBox2);
   VBox vBox3 = new VBox(20);
   vBox3.setAlignment(Pos.BOTTOM_RIGHT);
   vBox3.getChildren().addAll(btn);
   FlowPane fPane = new FlowPane(20, 20);
   fPane.getChildren().addAll(vBox, sPane2, vBox3);
   Scene scene = new Scene(fPane, 300, 400);
   primaryStage.setTitle("JavaFX Example");
   primaryStage.setScene(scene);
   primaryStage.show();   
   }
   public static void main(String[] args){
      Application.launch(args);  
   }
}
Any help or suggestions would be greatly appreciated, thank you.
 
    