Matrix 在javafx中创建随机二进制矩阵

Matrix 在javafx中创建随机二进制矩阵,matrix,javafx,binary,Matrix,Javafx,Binary,我必须创建一个JavaFX程序,它将创建1和0的随机矩阵。 我必须创建不同的方法,例如主方法、在程序开始时问候用户的方法,以及创建和显示矩阵的方法。这是我第一次创建JavaFX程序。。。请帮忙 这是我的代码,但我需要帮助打印出二进制数 import java.awt.GridLayout; import java.util.Random; import javax.swing.JTextArea; import javafx.application.Appli

我必须创建一个JavaFX程序,它将创建1和0的随机矩阵。 我必须创建不同的方法,例如主方法、在程序开始时问候用户的方法,以及创建和显示矩阵的方法。这是我第一次创建JavaFX程序。。。请帮忙

这是我的代码,但我需要帮助打印出二进制数

    import java.awt.GridLayout;
    import java.util.Random;

    import javax.swing.JTextArea;

    import javafx.application.Application;
    import javafx.event.ActionEvent;
    import javafx.event.EventHandler;
    import javafx.geometry.Pos;
    import javafx.scene.Scene;
    import javafx.scene.control.Button;
    import javafx.scene.control.TextField;
    import javafx.scene.layout.GridPane;
    import javafx.scene.layout.StackPane;
    import javafx.stage.Stage;
    import java.awt.TextArea;

    public class MatrixJavaFX extends Application
    {    
       Button[][] matrix; 

       public void start(Stage primaryStage) throws Exception 
       {
           int size = 10;
           int length = size;
           int width = size;

           GridPane root = new GridPane();

           matrix = new Button[width][length];
           for (int y = 0; y < length; y++)
           {
              for (int x = 0; x < width; x++)
              {
                   Random random = new Random();
                   int random1 = random.nextInt(2);
                   TextField text = new TextField();
                   text.setPrefHeight(50);
                   text.setPrefWidth(50);
                   text.setAlignment(Pos.CENTER);

                   root.setRowIndex(text, y);
                   root.setColumnIndex(text, x);
                   root.getChildren().add(text);
              }
           }
           Scene scene = new Scene(root, 500, 500);
           primaryStage.setTitle("Welcome to the Matrix!");
           primaryStage.setScene(scene);
           primaryStage.show();
       }
       private void add(JTextArea area) 
       {
        JTextArea area1 = new JTextArea(); 
        area1.setText(Integer.toString((int)Math.round(Math.random())));
        area1.setEditable(false);
        this.add(area1);    
       }
      public void MatrixSwing() 
      {
      this.setLayout(new GridLayout(10,10)); // makes the 10 x 10 grid 
      for (int i = 0; i < 100; i++)
      {
          this.add(new JTextArea()); // puts all 100 numbers in place
      }
    }
    private void setLayout(GridLayout gridLayout) {

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

数字不显示的问题很简单-您忘记将它们添加到“文本”中:

int random1 = random.nextInt(2);
TextField text = new TextField(); // text is not initialized - Blank!
解决方案:

int random1 = random.nextInt(2);
TextField text = new TextField(Integer.toString(random1)); // pass a string with random1
结果如下:


为什么您的JavaFX应用程序中有Swing代码?我原以为它适用于JavaFX,但我错了,所以我打算删除它注意,您正在为内部for循环的每个循环创建一个新的随机实例。这不是使用随机变量的正确方法。您希望每次都使用相同的实例。另外,我看到您将random1指定为random.nextInt2,但我没有看到您在任何地方使用random1。。。?