Module  javafx.graphics
软件包  javafx.application

Class HostServices



  • public final class HostServices
    extends Object
    此类为应用程序提供HostServices。 这包括获取应用程序的代码库和文档库,在浏览器中显示网页以及如果应用程序在浏览器中运行时使用JavaScript与封闭网页进行通信的方法。
    从以下版本开始:
    JavaFX 2.0
    • 方法详细信息

      • getCodeBase

        public final String getCodeBase​()
        获取此应用程序的代码库URI。 如果应用程序是通过JNLP文件启动的,则此方法返回JNLP文件中指定的代码库参数。 如果应用程序是以独立模式启动的,则此方法返回包含应用程序jar文件的目录。 如果应用程序未打包在jar文件中,则此方法返回空字符串。
        结果
        该应用程序的代码库URI。
      • getDocumentBase

        public final String getDocumentBase​()
        获取此应用程序的文档基础URI。 如果应用程序嵌入在浏览器中,则此方法返回包含应用程序的网页的URI。 如果应用程序是以webstart模式启动的,则该方法返回JNLP文件中指定的代码库参数(文档基础和代码库在此模式下相同)。 如果应用程序以独立模式启动,则此方法返回当前目录的URI。
        结果
        该应用程序的文档基础URI。
      • resolveURI

        public final String resolveURI​(String base,
                                       String rel)
        根据基本URI解析指定的相对URI并返回已解析的URI。

        例:

          HostServices services = getHostServices();
             String myImage = services.resolveURI(services.getDocumentBase(),
                                                  "image.jpg");
             Image image = new Image(myImage); 
        参数
        base - 解析相对URI的基本URI
        rel - 要解析的相对URI
        结果
        完全解析的URI。
        异常
        NullPointerException - 如果 baserel字符串为空。
        IllegalArgumentException - 如果解析 baserel URI字符串时出现错误,或者解析URI时是否存在其他错误。
      • showDocument

        public final void showDocument​(String uri)
        在新的浏览器窗口或选项卡中打开指定的URI。 浏览器首选项将决定是否是新浏览器窗口或现有浏览器窗口中的选项卡。 请注意,这将尊重默认浏览器的弹出窗口阻止程序设置; 它不会试图规避他们。
        参数
        uri - 将在浏览器中打开的网页的URI。
      • getWebContext

        @Deprecated(since="9",
                    forRemoval=true)
        public final JSObject getWebContext​()
        不推荐用于删除:此API元素将在以后的版本中被删除。 自JDK 9 以来,此方法已被弃用,因为不推荐使用27065609772816 API。
        返回包含此应用程序的网页的封闭DOM窗口的JavaScript句柄。 该句柄用于通过从Java调用JavaScript来访问网页。 如果应用程序未嵌入到网页中,则此方法返回null。

        例:

           JSObject jsWin = getHostServices().getWebContext(); if (jsWin != null) { jsWin.eval("var b = document.body;" + "var newdiv = document.createElement('div');" + "newdiv.innerHTML = '<br>Hello from JavaScript!';" + "b.appendChild(newdiv);"); }  
        结果
        包含此应用程序的网页的封闭DOM窗口的句柄