Image images[];
ImageView imageViews[];
int count = 0;
public static void main(String[]args)
{launch(args);}
public void diceImages() {
images = new Image[6];
images[0] = new Image("file:d1.png");
images[1] = new Image("file:d2.png");
images[2] = new Image("file:d3.png");
images[3] = new Image("file:d4.png");
images[4] = new Image("file:d5.png");
images[5] = new Image("file:d6.png");
}
public void roll() {
Random random = new Random();
for (int i = 0; i < imageViews.length; i++) {
int index = random.nextInt(6);
imageViews[i].setImage(images[index]);
}
}
@Override
public void start(Stage primaryStage) throws Exception {
diceImages();//read images
imageViews = new ImageView[5];
for (int i = 0; i < imageViews.length; i++) {
imageViews[i] = new ImageView();
imageViews[i].setFitHeight(150);
imageViews[i].setFitWidth(150);
}
Image test = new Image("File: C:\\Users\\halli\\eclipse-workspace\\1DV507\\src\\d1.png");
ImageView test1 = new ImageView(test);
test1.setFitHeight(150);
test1.setFitWidth(150);
VBox root = new VBox();
GridPane layout = new GridPane();
layout.setAlignment(Pos.CENTER);
layout.setHgap(1);
layout.setVgap(5);
VBox titleText = new VBox (0);
Text title = new Text("Yahtzee");
title.setFont(Font.font ("Verdana",30));
titleText.getChildren().add(title);
titleText.setAlignment(Pos.CENTER_LEFT);
titleText.setPadding(new Insets(10,0,0,0));
HBox dices1 = new HBox();
dices1.setAlignment(Pos.CENTER);
dices1.setSpacing(10);
dices1.getChildren().add(test1);
roll();
VBox button = new VBox (0);
HBox checkboxes = new HBox();
CheckBox d1 = new CheckBox();
CheckBox d2 = new CheckBox();
CheckBox d3 = new CheckBox();
CheckBox d4 = new CheckBox();
CheckBox d5 = new CheckBox();
checkboxes.setSpacing(60);
checkboxes.setAlignment(Pos.CENTER);
checkboxes.setPadding(new Insets(5,5,10,5));
checkboxes.getChildren().addAll(d1,d2,d3,d4,d5);
button.setAlignment(Pos.CENTER);
Button theButton = new Button("Roll the dice!");
final Label result1 = new Label();
final StringBuilder result = new StringBuilder();
result1.setPadding(new Insets(5,5,5,5));
button.getChildren().addAll(checkboxes, theButton, result1);
theButton.setOnAction(e -> {
});
layout.add(titleText, 10, 5);
layout.add(dices1, 10, 8);
layout.add(button, 10,10);
root.getChildren().addAll(layout);
Scene scene= new Scene(root,450,250);
primaryStage.setTitle("Yahtzee");
primaryStage.setScene(scene);
primaryStage.show();
}
}
我正在开发一个 yahtzee 游戏,其中的一部分,我很困惑为什么我的图片不会出现。我在 linux 和 windows 上都用 java11 和现在的 java13 试过这个,我总是得到相同的结果。
当我运行它时,ImageView 正在工作,因为它将标题和按钮推开 - 但它自身的图像没有出现。我在 src 文件夹中有图像 .png,尝试了不同类型的图像以及文件:.png 和文件:location.png。我不知道发生了什么。在上面的代码中,我尝试了一个测试图像,但是当我使用这些方法并将它们添加到 HBox dices1 时它也不起作用