Javafx 图片赢得';t使用ImageView显示

Javafx 图片赢得';t使用ImageView显示,javafx,imageview,Javafx,Imageview,我正在尝试完成一项家庭作业,要求我们使用学校服务器上公共文件夹中存储的图片。通过下载文件夹并将其复制到我的bin文件夹,我成功地获得了在我的笔记本电脑(Mac)上工作的任务,但是这种方法在提交时不起作用,因为我们所做的只是上传.java文件进行评分。我的问题是使用文件路径将图像加载到网络上的某个位置。为了测试这个方法,我创建了一个虚拟程序,在这个程序中,我试图显示桌面上某个文件夹中的文件。还是没有骰子。我对javafx比较陌生,但从我所读到的资料来看,我一直尝试的代码应该可以工作,但不是 起初我

我正在尝试完成一项家庭作业,要求我们使用学校服务器上公共文件夹中存储的图片。通过下载文件夹并将其复制到我的bin文件夹,我成功地获得了在我的笔记本电脑(Mac)上工作的任务,但是这种方法在提交时不起作用,因为我们所做的只是上传.java文件进行评分。我的问题是使用文件路径将图像加载到网络上的某个位置。为了测试这个方法,我创建了一个虚拟程序,在这个程序中,我试图显示桌面上某个文件夹中的文件。还是没有骰子。我对javafx比较陌生,但从我所读到的资料来看,我一直尝试的代码应该可以工作,但不是

起初我不需要使用图像对象来处理ImageView,但互联网似乎认为我需要这样做。我不知道该怎么办。我真正的主要问题是,在字符串的“file:…”部分之后,我必须包含多少级别的文件夹?我假设,因为我不知道我的教授用什么计算机来运行我们的程序,我需要一直到存储图片文件夹的驱动器的名称(在本例中,U:)。还有,我怎样才能让它在我的桌面上工作?由于虚拟程序与图片文件夹位于同一驱动器上,文件夹的“级别”会有所不同吗

附言: 我的程序使用的是使用for循环生成的文件名字符串数组。文件名最终类似于“不正确的\u文件夹\this\u是\u讨厌的\Cards\”+a+“.png”。 以前,当文件夹在我的垃圾箱中时,这种方法不会带来任何问题,但我认为我应该提及它以涵盖我的所有基础


我真的开始在这个项目上耗尽时间了,这个小小的障碍真的令人沮丧。请帮助。

您不可能将其作为相对路径访问,因为您不知道工作目录是什么。您需要以绝对路径访问它,就像他在您在评论中提供的电子邮件片段中所描述的那样。但是仍然存在一个问题,因为您不知道他会选择哪个驱动器号来映射驱动器(用户基本上可以为映射的网络驱动器选择他们想要的任何驱动器号)

我还建议先创建
文件
对象,然后从中创建URL,而不是硬编码URL方案(
文件://
)。我还将使用您的最佳猜测来检查文件夹是否存在,然后让用户有机会选择一个不存在的文件夹(使用a)。所以在部分伪码中:

File folder = new File("Y:/CSC Courses/CSC164/Lu/book/image/card");
if (! folder.exists()) {
    // use DirectoryChooser to let user chooser directory with images...
}
File imageFile = new File(folder, "1.png");
try {
    Image image = new Image(imageFile.toURI().toURL().toExternalForm());
    // do whatever you need with image...
} catch (MalformedURLException exc) {
    exc.printStackTrace();
}

指定是否确实指定了图像的文件位置?有没有其他方法(例如http)可以访问它?我最近在虚拟程序中获得了一些成功:Image Image=new Image(“file:/Users/my_username/Desktop/Cards/1.png”);他在一封电子邮件中说:试试这样的东西:file:///Y:/CSC Courses/CSC164/Lu/book/image/card/“我不知道他为什么用Y盘而不是U盘,U盘就是他们所在的位置,或者他为什么用三个slashes@James_D:该文件夹位于我学校的服务器上,我不知道如何从家中访问它。他在作业中只说是在U:车道上。我真正的问题是,由于文件夹位于与.java文件不同的驱动器中,我必须深入到多深才能使其工作?因此,如果发生异常,请捕获异常(在本文中,这是不应该的)。我不理解。我删除了评论,试图使其格式更好,但你太快了!忽略前面的注释,将图像初始化为null修复了该问题!