Создание сложного изображения из повторяющегося простого - 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);
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д