作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 JavaFX 的 Image
类加载图像。
这是我的代码:
Image image = new Image(file.getAbsolutePath());
file
只是一个加载图像的文件。
我收到以下错误:
java.lang.IllegalArgumentException: Invalid URL or resource not found
完整代码如下:
FileChooser fileChooser = new FileChooser();
fileChooser.getExtensionFilters().addAll(
new FileChooser.ExtensionFilter("JPG","*.jpg"),
new FileChooser.ExtensionFilter("JPEG","*.jpeg")
);
fileChooser.setTitle("Choose file...");
fileChooser.setInitialDirectory(
new File(System.getProperty("user.home"))
);
File file = fileChooser.showOpenDialog(stageOfEvent);
if(file != null) {
Image image = new Image(file.getAbsolutePath());
imageView.setImage(image);
}
最佳答案
为了构造一个Image
对于位于文件系统中的文件,您需要使用 file:
协议(protocol),如下所示:
Image image = new Image("file:" + file.getAbsolutePath());
不指定它会告诉 JavaFX 在类路径中查找图像,而不是在文件系统中。
引用图像Javadoc:
// The image is located in my.res package of the classpath
Image image2 = new Image("my/res/flower.png", 100, 150, false, false);
// The image is located in the current working directory
Image image4 = new Image("file:flower.png", 0, 100, false, false);
此构造来自 URL
Java 语法。
正如 @mipa 在评论中指出的,您还可以使用:
Image image = new Image(file.toURI().toURL().toExternalForm());
关于java - 在 JavaFX 中加载图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32669359/
我正在开发一个需要能够平均三个数字的 Facebook 应用程序。但是,它总是返回 0 作为答案。这是我的代码: $y = 100; $n = 250; $m = 300; $number = ($y
我只是无法弄清楚这一点,也找不到任何对我来说有意义的类似问题。我的问题:我从数据库中提取记录,并在我的网页上以每个面板 12 条的倍数显示它们。因此,我需要知道有多少个面板可以使用 JavaScrip
我是一名优秀的程序员,十分优秀!