JavaFX 插入图像



好吧,我对Java非常非常陌生,并且是自学成才的,所以不要取笑我糟糕的编码;) 我正在弄乱Java fx,并试图将图像插入边框布局。

这是我用来显示图像的控制器中的方法,但我无法使文件路径正常工作。 它目前有"/images/brownBear.jpg"作为文件路径,但我尝试了相对路径-

com/jaimependlebury/mammal/images/brownBear.jpg

和完整的路径以及介于两者之间的所有内容,我要么得到一个

FileNotFoundException

NullPointerErrorException

我什至不确定我是否正确设置了它,我在不同的网站上发现了不同的东西,并试图将信息拼凑在一起,所以任何帮助将不胜感激。

FXML 文件

<ImageView fx:id="picture">
</ImageView>

控制器文件-

我在类的顶部声明了 ImageView 图片变量,我只是没有将其包含在代码块中。

@FXML
public void handleMammalListView()throws FileNotFoundException {
Species species= mammalList.getSelectionModel().getSelectedItem();
picture=new ImageView();
Image img =new Image(new FileInputStream("/images/brownBear.jpg"));
picture.setImage(img);
speciesName.setText(species.getSpeciesName());
details.setText(
"Scientific name: "  + species.getScientificName() +"n"+
"Staus: " +    species.getStatus() + "n" +
"Distribution: " + species.getHabitat() +"n" +
"Food: " + species.getFood() + "n" +
"Birth: " + species.getBirth() + "n" +
"Distinguishing Characteristics: " + species.getBodyType() + "n"+
"Nursing: " + species.getNurse() + "n" +
"Type of hair: " + species.getTypeOfHair());

以下代码行:

picture=new ImageView();

正在重置您在FXML中设置的引用 - 您可以将其删除。

最新更新