我想在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);
}
答案 0 :(得分:2)
这适合我。
final ImageView im = new ImageView(
new Image(new File("C:/Users/User/Downloads/RGACD_Directory/arosh.jpg").toURI().toString()));
答案 1 :(得分:1)
你能告诉我们堆栈跟踪吗? 试试这个,将图像文件放在java文件所在的包中,并将代码写为:
ImageView icon = new ImageView(new Image(getClass().getResourceAsStream("/main/view/images/inbox.png")));
主包就在src目录之后。
就我而言,我的java文件位于视图包中。另请注意,在窗口中我们使用' \\'作为分隔符,在linux中我们使用反斜杠(/)。
答案 2 :(得分:1)
最后这对我有用
@FXML
ImageView im;
im.setImage(new Image("file:///C:\\Users\\User\\Downloads\\arosh.png");