gpt4 book ai didi

Java FX 无法加载 Font Awesome 图标

转载 作者:行者123 更新时间:2023-11-30 06:52:48 24 4
gpt4 key购买 nike

我是 JavaFX 新手。我使用以下代码加载使用 Bootstrap、Angular 等的本地 HTML 页面。

public class AppLauncher extends Application {
public static void main(String[] args) {
System.setProperty("sun.net.http.allowRestrictedHeaders", "true");
launch(args);
}

@Override
public void start(Stage stage) {
WebView webview = new WebView();
webview.getEngine().load(AppLauncher.class.getResource("/dashboard.html").toExternalForm());
stage.setScene(new Scene(webview));
stage.show();
}
}

由于我的 Java 脚本具有来自不同域的 XHR,因此我已将其配置为允许跨域请求。当我从 Eclipse 运行它时,一切工作正常。我需要一个可执行文件,因此我使用了 maven-shade-pluginlaunch4j-maven-plugin。可执行文件已完美创建,可以打开我的 HTML 页面。但问题是 UI 没有渲染 HTML 页面中的 font-awesome 图标(也不是来自创建的 jar)。我的页面中有 fa-angle-downfa-bell-ofa-search。没有一个被显示出来。请看图片When running from EclipseWhen running from exe/jar

是什么导致它在转换为可执行 jar 或 exe 时不渲染 fa 图标?

最佳答案

我遇到了一个非常类似的问题,是的,正如 Po Master 上面详细说明的那样,我认为这是由于 FontAwesome CSS 引用的字体位置在编译时无法到达。我通过向我的 web View 添加额外的 CSS 来修复此问题:

yourWebviewObject.getEngine().setUserStyleSheetLocation("data:,@font-face{font-family:'FontAwesome';src:url('"+getClass().getResource("path/to/fontawesome-webfont.eot").toExternalForm()+"');src:url('"+getClass().getResource("path/to/fontawesome-webfont.eot").toExternalForm()+"') format('embedded-opentype'),url('"+getClass().getResource("path/to/fontawesome-webfont.woff2").toExternalForm()+"') format('woff2'),url('"+getClass().getResource("path/to/fontawesome-webfont.woff").toExternalForm()+"') format('woff'),url('"+getClass().getResource("path/to/fontawesome-webfont.ttf").toExternalForm()+"') format('truetype'),url('"+getClass().getResource("path/to/fontawesome-webfont.svg").toExternalForm()+"?v=4.7.0#fontawesomeregular') format('svg');}");

我花了一段时间才弄清楚上面的内容(特别是 setUserStyleSheetLocation() 可以在自己的字符串中包含数据,而不需要实际的 CSS 文件),所以我希望它对其他人有帮助。

作为背景,我使用hugo 创建一个静态网站,用于在我的 JavaFX 应用程序中获取帮助/文档。

这种方法的想法来自:here

关于Java FX 无法加载 Font Awesome 图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42416242/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com