Создание сложного изображения из повторяющегося простого - Java

Узнай цену своей работы

Формулировка задачи:

Нужно нарисовать N рядов изображений логотипов с M логотипами в каждом ряде. N и M задаются в программе. Для рисования нужно использовать относительные координаты и вложенные циклы.

Решение задачи: «Создание сложного изображения из повторяющегося простого»

textual
Листинг программы
  1. public class Pict extends Application {
  2.    
  3.     @Override
  4.     public void start(Stage primaryStage) {
  5.         Group rootB = new Group();
  6.         Button btn = new Button();
  7.         TextField textN = new TextField();
  8.         textN.setPromptText("Введите N");
  9.         textN.setLayoutX(0);
  10.         textN.setMaxWidth(80);
  11.         TextField textM = new TextField();
  12.         textM.setPromptText("Введите M");
  13.         textM.setLayoutX(100);
  14.         textM.setMaxWidth(80);
  15.         btn.setText("Picture");
  16.         btn.setLayoutX(200);        
  17.         rootB.getChildren().addAll(textN,textM,btn);
  18.        
  19.         BorderPane root = new BorderPane();
  20.        
  21.         btn.setOnAction(new EventHandler<ActionEvent>() {
  22.            
  23.             @Override
  24.             public void handle(ActionEvent event) {
  25.                 System.out.println("Picture");
  26.                 String SN = textN.getText();
  27.                 String SM = textM.getText();
  28.                 int N;
  29.                 int M;
  30.                 VBox vboxN = new VBox();
  31.                 try{
  32.                     N=Integer.parseInt(SN);
  33.                     M=Integer.parseInt(SM);
  34.                    
  35.                     for(int i=0;i<N;i++){
  36.                         HBox hboxM = new HBox();
  37.                         for(int j=0;j<M;j++){
  38.                             hboxM.getChildren().add(new ImageView(new Image(this.getClass().getResource("2.jpg").toString())));
  39.                         }
  40.                         vboxN.getChildren().add(hboxM);
  41.                     }
  42.                     root.setCenter(vboxN);
  43.                 }catch(Exception e){
  44.                     JOptionPane.showMessageDialog(null, "Введите числа");
  45.                 }
  46.                
  47.             }
  48.         });
  49.        
  50.         root.setTop(rootB);
  51.        
  52.         Scene scene = new Scene(root, 500, 350);
  53.        
  54.         primaryStage.setTitle("Hello World!");
  55.         primaryStage.setScene(scene);
  56.         primaryStage.show();
  57.     }
  58.  
  59.     /**
  60.      * @param args the command line arguments
  61.      */
  62.     public static void main(String[] args) {
  63.         launch(args);
  64.     }
  65.    
  66. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.625 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы