Создание случайной двоичной матрицы в javafx - PullRequest
0 голосов
/ 25 апреля 2018

Мне нужно создать программу JavaFX, которая будет создавать случайную матрицу из 1 и 0. Мне нужно создать разные методы, такие как метод main, метод приветствия пользователя при запуске программы и метод создания и отображения матрицы. Я впервые создаю программу на 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);
   }
}

1 Ответ

0 голосов
/ 25 апреля 2018

Проблема (почему цифры не отображаются) очень проста - вы забыли добавить их в текст:

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

Вот результат:

Solution

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...