【发布时间】:2016-09-14 14:20:28
【问题描述】:
我正在制作一个显示汽车信息的应用程序,稍后我将添加 CRUD 功能,但现在我想在网格窗格上显示一张图片。
我有一个只包含 start 方法的小型 Main-Class,然后我有另一个包含所有 GUI 组件的类。这是图形用户界面:
我想让一个图像出现在屏幕的右上角。
我还有一个汽车类,我从中创建了汽车对象并将其放入一个数组中。该数组包含有关品牌、型号、reg.nr 和图像文件 URL 的信息。我还在 carclass 中创建了 get() 方法。
所以我成功地将所有其他组件添加到我的 GUIComponents 类中的网格中,最后我尝试添加这个,只是为了尝试显示第一个 carobjects 图像:
HBox hbCarImg = new HBox();
ImageView imageView = new ImageView(new Image(carArray[0].getImageURL()));
hbCarImg.getChildren().add(imageView);
add(hbCarImg, 2, 1, 2, 3);
我希望 hbox 出现在第 2 列第 1 行并跨越 2 列和 3 行。
当我这样做时没有任何反应。花了很多时间搜索这个,代码似乎很好,我不知道什么不起作用。
感谢任何提示或帮助!
【问题讨论】:
-
您是否验证了图像 URL 正确并指向现有图像数据?
-
@VGR 是的,数组中的 URL 是有效的!
-
通过给它一个可见的边框来验证 HBox 是否真的在你的 GridPane 中。例如,
hbCarImg.setStyle("-fx-border-color: red;"); -
@VGR 我试过了,该框出现在屏幕上,正是我想要的,但仍然没有图像。 link
-
carArray[0].getImageURL()返回的字符串是什么?
标签: java javafx imageview gridpane