有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java无法在JavaFx中加载图像

我想在JavaFX中加载图像和视频。下面给出了我代码的相关部分,其中视频加载部分正常,但图像加载部分不工作。你能给我答案吗

if (serialvalue == 1) {
    String infoquery = "select * from information where " + "categoryname like " + "'%" + selectedcategory + "%'";
    try {
        filename = getFilePathForCorrespodingSerial(infoquery, serialvalue);
    } catch (Exception e) {
        e.printStackTrace();
    }
    System.out.println("You path for video : " + filename);
    System.out.println("my choiche");
    //File path = new File("C:\\Users\\User\\Downloads\\RGACD_Directory\\arosh.jpg");
    java.io.FileInputStream fis = null;
    try {
        fis = new FileInputStream("C:\\Users\\User\\Downloads\\RGACD_Directory\\arosh.jpg");
    } catch (Exception e) {
        e.printStackTrace();
    }
    im = new ImageView(new Image(fis));
    String newpath = "C:\\Users\\User\\Downloads\\RGACD_Directory\\" + filename;
    me1 = new Media(new File(newpath).toURI().toString());
    mp1 = new MediaPlayer(me1);
    mv1.setMediaPlayer(mp1);
    mp1.setAutoPlay(true);
} 

共 (3) 个答案

  1. # 1 楼答案

    最后,这对我很有用:

    @FXML
    ImageView im;
    im.setImage(new Image("file:///C:\\Users\\User\\Downloads\\arosh.png");
    
  2. # 2 楼答案

    这对我有用

    final ImageView im = new ImageView(
                new Image(new File("C:/Users/User/Downloads/RGACD_Directory/arosh.jpg").toURI().toString()));
    
  3. # 3 楼答案

    你能给我们堆栈跟踪吗。 尝试此操作,将映像文件放入java文件所在的包中,并将代码编写为:

    ImageView icon = new ImageView(new Image(getClass().getResourceAsStream("/main/view/images/inbox.png")));
    

    主包就在src目录之后

    在我的例子中,我的java文件在视图包中。还要注意,在Windows中,我们使用“\\”作为分隔符,在linux中,我们使用反斜杠(/)