代码之家  ›  专栏  ›  技术社区  ›  SDIDSA

JavaFX image getUrl()导致Excelsior jet中出现NoSuchMethod错误

  •  1
  • SDIDSA  · 技术社区  · 7 年前

    我正在尝试使用ExcelsiorJet编译我的javaFx应用程序,它运行良好,除了在类型上使用getUrl()时javafx.scene.image网站。图像, 当我从eclipse运行应用程序时,此方法存在并且有效,但是当我在excelsior中运行它时,会得到以下错误:

    Exception in thread "JavaFX Application Thread" java.lang.NoSuchMethodError: getUrl
    

    我不确定它是如何工作的,但我想可能是从excelsior的库中丢失了一些东西,有没有办法解决这个问题?

    2 回复  |  直到 7 年前
        1
  •  3
  •   mipa    7 年前

    如果你查阅这个方法的文档

    docs for getUrl()

    您将看到,这个方法是在Java9中引入的,我假设ExcelsiorJet仍然基于Java8。

        2
  •  0
  •   SDIDSA    7 年前

    我根据这个建议找到了解决这个问题的办法 "just remember the 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())。