Создание сложного изображения из повторяющегося простого - 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);
}
}