如何在JavaFXWebView中指定与默认UI字体相同的默认字体
我和一些同事正在用HTML编写帮助文档,用于JavaFXWebView面板。我们希望它与UI的其他部分保持一致。通常我会在CSS文件中指定默认字体,但JavaFX应用程序的其余部分似乎使用默认的系统UI字体如何在JavaFXWebView中指定与默认UI字体相同的默认字体,java,css,javafx,fonts,Java,Css,Javafx,Fonts,我和一些同事正在用HTML编写帮助文档,用于JavaFXWebView面板。我们希望它与UI的其他部分保持一致。通常我会在CSS文件中指定默认字体,但JavaFX应用程序的其余部分似乎使用默认的系统UI字体 有没有办法以编程方式设置此选项?我可以在.css中按名称选择Segoe UI,但无论平台如何,我们都希望它看起来正确。如果我完全理解您的意思,您希望应用程序的整个javafx部分使用默认字体。我建议你这样做: 下载自己的字体作为.ttf,并将其添加到应用程序中的资源中 使用静态功能加载字体。
有没有办法以编程方式设置此选项?我可以在.css中按名称选择Segoe UI,但无论平台如何,我们都希望它看起来正确。如果我完全理解您的意思,您希望应用程序的整个javafx部分使用默认字体。我建议你这样做:
Font.loadFont(this.class.getClassLoader().getResource(“Font/YOURFONT.ttf”).toExternalForm(),10)代码>
.root{-fx字体系列:“YOURFONT”;}
之后,您需要加载application.css文件并在场景中进行设置:
scene.getStylesheets().add(this.class.getClassLoader().getResource(“css/application.css”).toExternalForm())代码>
Font.getDefault().getName()
要获取默认字体名称,只需将其添加到HTML文件/字符串中,该文件/字符串将被添加到WebView
例如:
cssString = cssString + "html { font-family: '" + Font.getDefault().getName() + "';}";
当然,你应该做得比这更干净。嗯。。。这似乎是不必要的工作;我们只想使用系统字体,不提供任何.ttf文件。