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

JavaFX WebView:超文本标记语言从资源文件夹加载css/图像

商池暝
2023-03-14

我使用JavaFXWebView显示超文本标记语言帮助:

import javafx.scene.layout.BorderPane;
import javafx.scene.web.WebEngine;
import javafx.scene.web.WebView;

import java.net.URL;

public final class HelpPane extends BorderPane {

    private static final String HELP_RESOURCE_NAME = "/help/main.html";

    public HelpPane() {
        WebView webView = new WebView();
        WebEngine webEngine = webView.getEngine();
        URL url = HelpPane.class.getResource(HELP_RESOURCE_NAME);
        webEngine.load(url.toExternalForm());

        setCenter(webView);
    }

}

main.htmlstyle.css和各种图像都驻留在资源内的help文件夹中:

main。html,我正在使用相对链接加载CSS和图像:

<html>
<head>
    <meta charset="utf-8"/>
    <link rel="stylesheet" href="style.css"/>
</head>
<body>
<h1>Help</h1>

<img src="img/main-vs-side-panels.png" width="600px"/>

</body>
</html>

在OSX上,一切都非常好(无论是从IDE还是从jar启动)。在Windows上,从jar启动时,CSS和img链接不再解析(从IDE启动可以正常工作)。

有没有更好、更健壮的链接资源的方法?

共有1个答案

冉丰茂
2023-03-14

原来这是由一个真正的错误引起的。最新的JRE 1.8一切正常。0_92。

 类似资料:
  • 项目结构: 我目前正在Eclipse中开发一个JavaFX应用程序,在从resources文件夹加载一个. css样式表时遇到了问题。 我已经将资源文件夹添加到类路径(项目属性 - 正在使用以下代码: 正在抛出 NullPointerException 我已经阅读了其他帖子并尝试了所有内容,但似乎无法让它工作。 编辑:设法通过删除和恢复bin文件夹使其正常工作。现在加载了.css,但由于某些原因它

  • 问题内容: 我的项目具有以下结构: 我有一个文件,我想从单元测试中加载文件 我有此代码不起作用。它抱怨“没有这样的文件或目录”。 我也试过了 这也不起作用。它返回。我正在使用Maven构建我的项目。 问题答案: 尝试下一个: 如果上述方法不起作用,则已在以下类中添加了各种项目:1(代码在此处)。 以下是有关如何使用该类的一些示例:

  • 我已经将我的项目上传到githttps://github.com/gitekiras/spring-boot-gradle-mvc 我不能得到正确的是,我不能加载css和js从资源文件夹。 当我把它放在webapp文件夹,我能够得到每件事情的工作,但根据教程,我应该把它们放在资源的静态文件夹。 但是当我这样做的时候,我不能加载页面上的css和js。 谁能说出我错过了什么? 另外:当我在浏览器日志中

  • 我在maven项目的src/main/resource文件夹中下载了.sh文件,我正在通过下面的代码阅读它 如果我使用jar EX作为应用程序运行:- java-jar runscript.jar SCHEMA_NAME /users/ideaprojects/runscript/target/file:/users/ideaprojects/runscript/target/runscripts

  • 我试图通过Jenkins生成超文本标记语言报告(量角器测试),但它说错误:指定的超文本标记语言目录'x/y/z/Report'不存在。我需要在詹金斯配置上做什么,请帮助。 *路径是正确的,但它不能在从服务器上生成“报告”文件夹。我用的是-"量角器-HTML-截图-记者"

  • 我试图在HTML的pre标签中包装文本,但它不起作用。我使用下面的CSS作为我的标签。 我从如何在pre标记中换行文本? 我已添加