java - 更改 JavaFX WebView 的默认字体

标签 java javafx webkit

我正在使用嵌入在 JPanel 中的 Java FX2.2 WebView 来显示网页。这很好用,除了我不喜欢的默认字体。它看起来非常大胆/圆润/抗锯齿/模糊。

enter image description here

左边是我的 Chrome 浏览器的文本,右边是 FX 浏览器的文本。

它似乎使用“System Regular”字体作为默认字体,此字体由 Font.getDefault() 返回。我试过用反射改变它,但浏览器仍然使用相同的字体。 我还查看了 WebView.setFontScale()WebView.setFontSmoothingType(),第一个只改变了大小,而后者只有第二种字体平滑类型,这更糟糕比默认值。

我查看了 Safari,它与 FX WebView 一样,基于 WebKit,并且该浏览器具有更改默认字体的选项(我认为大多数浏览器都有此选项)。

有谁知道更改 Java FX WebView 的默认字体的方法吗?

编辑:在此处提出功能请求:https://bugs.openjdk.java.net/browse/JDK-8090968

最佳答案

我发现了一个更简单的方法:

engine.setUserStyleSheetLocation("data:,body { font: 12px Arial; }");

关于java - 更改 JavaFX WebView 的默认字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17970225/

相关文章:

java - DatePicker 上的事件过滤器针对一个操作触发两次

java - 使用 JPA 和 JUnit 测试时如何一致地删除内存数据库中的 H2

java - 如何在javafx中分离我的gui?

iPhone - 自定义 WebKit

CSS "overflow:scroll"不适用于 chrome

java - setParameter 和 hibernate 中设置特定类型参数的区别

java - 将泛型 Class<T> 作为参数传递

java - 如何在javaFX中像div一样动态生成VBox

java - setCellValueFactory 的正确用法

javascript - webkit-transform 覆盖 Chrome 13 中的 z-index 排序