当前位置: 首页 > 知识库问答 >
问题:

JavaFX:stage.geticons().add()在JavaFX应用程序中不起作用

席言
2023-03-14
private Stage stage;
Scene scene = new Scene(rootLayout);
primaryStage.setScene(scene);
primaryStage.getIcons().add(new Image("file:view/images/programicon.png"));
primaryStage.show();
primaryStage.getIcons().add(new Image("view/images/programicon.png"));
Caused by: java.lang.IllegalArgumentException: Invalid URL or resource not found
at javafx.scene.image.Image.validateUrl(Image.java:1110)

共有1个答案

颛孙兴旺
2023-03-14

我已经找到解决办法了。从:

primaryStage.getIcons().add(new Image("file:view/images/programicon.png"));

primaryStage.getIcons().add(new Image(getClass().getResourceAsStream("view/images/programicon.png")));

做了把戏。

 类似资料:
  • 当我试图用Dockerfile构建自己的docker图像时,我发现在使用添加或复制命令后,文件没有复制到我的图像中。 为了测试ADD命令,我创建了一个简单的dockerfile,如下所示: 我的文件结构很简单,如下所示: 当我使用docker build命令构建图像时,过程如下: 该过程以cat命令未找到测试结束。我用dockerfile脚本将txt添加到图像中。 这让我很困惑,我在不同的环境下尝

  • 问题内容: 不仅如此,其他代码也有相同的问题。只是不能使用ImageView。 环境:macOS,IntelliJ 造成原因:java.lang.IllegalArgumentException:无效的URL:无效的URL或找不到资源 问题答案: 该图像构造函数接受一个url作为参数。如果您未在其中添加协议,则它将假定该项目来自类路径。显然,不会出现在您的类路径中。 要从文件而不是类路径中读取,请

  • 我正在尝试创建一个媒体播放器,使用JavaFX2.0版通过HTTP实时流媒体播放本地媒体文件/媒体。 我能够在媒体播放器中成功播放本地媒体文件。但当我尝试通过HTTP实时流媒体播放媒体文件时,它就不起作用了。当我尝试使用HTTP实时流媒体播放媒体文件时,会出现如下所示的白色空白屏幕。 单击此处查看屏幕截图 下面是我通过HTTP实时流媒体播放媒体的代码: 请告诉我使用JavaFX在媒体播放器中通过H

  • 我尝试了以下代码来创建动态TextField,并将其添加到ScrollPane中的VBox中。但我面临的问题是,如果添加的TextField数量超过了TextField在ScrollPane中不可见。 行ScrollPane.setvValue(double.max_value);不起作用。 ScrollPaneDemo.java TextFieldClass.java

  • 我最近将Eclipse更新为2019-12版,将JDK更新为JavaSE13版,之后我了解到,这个JSE不再将JavaFX作为核心库。因此,我查找了与JSE13兼容的新JavaFX库的Maven依赖项,并选择了版本11。我将它们添加到我的文件中,如下所示: 但是,现在我的源文件中的一些导入无法解析。例如: 我已经检查了javadocs的类,似乎它们应该包含在、和模块中的类文件中,我在文件中作为依赖

  • 对于某些活动的意图是有效的,对于某些特定的活动意图是崩溃的,我已经改变并尝试了不同的方法,但是对于某些活动意图是无效的,应用程序正在构建,但是在手机上运行之后,它在调试期间没有显示出任何错误?我尝试了不同的方法,但它仍然崩溃,谁能帮助我解决它? MainActivity java 清单文件