[英]javafx image display using the HBox and the VBox from for loop
我把里面横向盒图像在HBox
位于内部VBox
FileInputStream seats_fileInputStream = new FileInputStream("seat.png");
Image seats_image = new Image(seats_fileInputStream,50,50,false,false);
ImageView[] seats = new ImageView[30];
for(int i = 0;i<30;i++){
seats[i] = new ImageView(seats_image);
}
HBox seatsRaw_hbox[] = new HBox[5];
VBox seatsLine_vbox = new VBox();
for(int i=0;i<5;i++){
seatsRaw_hbox[i]= new HBox();
for(int j=0;j<6;j++){
seatsRaw_hbox[i].getChildren().addAll(seats[j]);
}
seatsLine_vbox.getChildren().addAll(seatsRaw_hbox[i]);
}
BorderPane Test = new BorderPane();
Test.setCenter(seatsLine_vbox);
在每个HBox
中应显示6张图像,总共有5个HBox
并将它们放入VBox
。 但是我总是只得到一行,而我应该得到5行!!!
输出图像:
这是一个愚蠢的错误。 在for循环中,我将j <6放置在其中j表示图像数组索引,假设它从0开始一直到29,但是只使用前6个并停止。 我必须创建另一个变量,该变量将从0开始一直到29。因此,这些是修改后的代码:
int seatsCount = 0;
for(int i=0;i<5;i++){
seatsRaw_hbox[i]= new HBox();
for(int j=0;j<6;j++){
seatsRaw_hbox[i].getChildren().addAll(seats[seatsCount]);
seatsCount++;
}
seatsLine_vbox.getChildren().add(seatsRaw_hbox[i]);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.