我正在尝试使用 Excelsior Jet 编译我的 javaFx 应用程序,它运行良好,除了当我在类型 javafx.scene.image.Image 上使用 getUrl() 时,此方法存在并且当我从 eclipse 运行应用程序时它可以工作,但是当我在 excelsior 中运行它我收到以下错误:Exception in thread "JavaFX Application Thread" java.lang.NoSuchMethodError: getUrl我不确定它是如何工作的,但我认为 excelsior 的库中可能缺少某些东西,有什么办法可以解决这个问题?
2 回答
莫回无
TA贡献1865条经验 获得超7个赞
如果您查找此方法的文档
getUrl() 的文档
你会看到,这个方法是在 Java 9 中引入的,我假设 Excelsior Jet 仍然基于 Java 8。
慕斯王
TA贡献1864条经验 获得超2个赞
我根据这个建议找到了解决这个问题的方法“只记住 URL”,通过创建一个名为 Image 的新类来扩展 javafx.scene.image.Image 并给它一个新的 url 属性和一个获取它的方法
public class Image extends javafx.scene.image.Image{
String url;
public Image(String url) {
super(url);
this.url = url;
}
public String geturl() {
return url;
}
}
然后调用 geturl() 而不是 getUrl() (因为我无法覆盖最终方法 getUrl() )。
添加回答
举报
0/150
提交
取消