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

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

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

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

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

textual
Листинг программы
public class Pict extends Application {
    
    @Override
    public void start(Stage primaryStage) {
        Group rootB = new Group();
        Button btn = new Button();
        TextField textN = new TextField();
        textN.setPromptText("Введите N");
        textN.setLayoutX(0);
        textN.setMaxWidth(80);
        TextField textM = new TextField();
        textM.setPromptText("Введите M");
        textM.setLayoutX(100);
        textM.setMaxWidth(80);
        btn.setText("Picture");
        btn.setLayoutX(200);        
        rootB.getChildren().addAll(textN,textM,btn);
       
        BorderPane root = new BorderPane();
        
        btn.setOnAction(new EventHandler<ActionEvent>() {
            
            @Override
            public void handle(ActionEvent event) {
                System.out.println("Picture");
                String SN = textN.getText();
                String SM = textM.getText();
                int N;
                int M;
                VBox vboxN = new VBox();
                try{
                    N=Integer.parseInt(SN);
                    M=Integer.parseInt(SM);
                    
                    for(int i=0;i<N;i++){
                        HBox hboxM = new HBox();
                        for(int j=0;j<M;j++){
                            hboxM.getChildren().add(new ImageView(new Image(this.getClass().getResource("2.jpg").toString())));
                        }
                        vboxN.getChildren().add(hboxM);
                    }
                    root.setCenter(vboxN);
                }catch(Exception e){
                    JOptionPane.showMessageDialog(null, "Введите числа");
                }
                
            }
        });
        
        root.setTop(rootB);
        
        Scene scene = new Scene(root, 500, 350);
        
        primaryStage.setTitle("Hello World!");
        primaryStage.setScene(scene);
        primaryStage.show();
    }
 
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        launch(args);
    }
    
}

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

8   голосов , оценка 3.625 из 5
Похожие ответы