无法在JavaFx中加载图像

无法在JavaFx中加载图像,java,javafx,Java,Javafx,我想在JavaFX中加载图像和视频。下面给出了我代码的相关部分,其中视频加载部分正常,但图像加载部分不工作。你能给我解决方案吗 if (serialvalue == 1) { String infoquery = "select * from information where " + "categoryname like " + "'%" + selectedcategory + "%'"; try { filename = getFilePathForCorr

我想在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);
} 
这对我有用

final ImageView im = new ImageView(
            new Image(new File("C:/Users/User/Downloads/RGACD_Directory/arosh.jpg").toURI().toString()));
这对我有用

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

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

ImageView icon = new ImageView(new Image(getClass().getResourceAsStream("/main/view/images/inbox.png")));
主包就在src目录之后


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

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

ImageView icon = new ImageView(new Image(getClass().getResourceAsStream("/main/view/images/inbox.png")));
主包就在src目录之后


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

最后,这对我有用:

@FXML
ImageView im;
im.setImage(新图像(“file:///C:\\用户\\User\\Downloads\\arosh.png”);

最后,这对我很有用:

@FXML
ImageView im;
im.setImage(新图像(“file:///C:\\用户\\User\\Downloads\\arosh.png”);

您是否验证了
C:\Users\User\Downloads\RGACD\u Directory\arosh.jpg
是否存在并且是一个有效的映像?是的,我验证了并且没有错误消息。顺便问一下,您所说的映像有效是什么意思?如果双击该文件,它是否正确显示?是的,我检查了它您是否验证了
C:\Users\User\Downloads\RGACD_Directory\arosh.jpg
存在并且是一个有效的映像?是的,我验证了这一点,并且没有错误消息。顺便问一下,您所说的映像有效是什么意思?如果双击该文件,它是否显示正确?是的,我选中了它/*我使用了它,但仍然不工作。/@FXML public void按钮(ActionEvent事件)引发IOException{FileChooser fC=new FileChooser();fC.setInitialDirectory(新文件(“C:\\Users\\User\\Downloads”);fC.getExtensionFilters().addAll(新的ExtensionFilter(“Video:”,“.jpg”,“*.png”);File selectedvideo1=fC.showOpenDialog(null);System.out.println(selectedvideo1);if(selectedvideo1!=null){String path=selectedvideo1.getAbsolutePath();System.out.println(path);im2=new-ImageView(new-Image(new-File(path).toURI().toString());}}/*我使用了它,但仍然不起作用。/@FXML public-void按钮(ActionEvent事件)抛出IOException{FileChooser fC=new-FileChooser();fC.setInitialDirectory(new-File(“C:\\Users\\User\\Downloads”);fC.getExtensionFilters().addAll(新的ExtensionFilter(“视频:”、“.jpg”、“*.png”);File selectedvideo1=fC.showOpenDialog(null);System.out.println(selectedvideo1);if(selectedvideo1!=null){String path=selectedvideo1.getAbsolutePath();System.out.println(path);im2=new ImageView(新图像(新文件(路径).toURI().toString());}