更改WebView JavaFX的背景色
这个问题我已经问过很多次了,但没有明确的答案。此外,所有答案都是JavaFX8之前的版本,现在必须有一个解决方案。我需要透明的背景色。看看这个JIRA问题。 在评论的最后是一个可能对你有帮助的黑客的描述,别忘了投你的票更改WebView JavaFX的背景色,java,javafx,Java,Javafx,这个问题我已经问过很多次了,但没有明确的答案。此外,所有答案都是JavaFX8之前的版本,现在必须有一个解决方案。我需要透明的背景色。看看这个JIRA问题。 在评论的最后是一个可能对你有帮助的黑客的描述,别忘了投你的票 要最终解决此问题。此解决方案来自 为了让它发挥作用,我不得不做出两个小小的改变。如果你的电脑仍然无法正常工作,那么你可能输入了错误的东西 //put this line before you loadContent webEngine.documentProperty().add
要最终解决此问题。此解决方案来自 为了让它发挥作用,我不得不做出两个小小的改变。如果你的电脑仍然无法正常工作,那么你可能输入了错误的东西
//put this line before you loadContent
webEngine.documentProperty().addListener(new WebDocumentListener(webEngine));
class WebDocumentListener implements ChangeListener<Document> {
private final WebEngine webEngine;
public WebDocumentListener(WebEngine webEngine) {
this.webEngine = webEngine;
}
@Override
public void changed(ObservableValue<? extends Document> arg0,
Document arg1, Document arg2) {
try {
// Use reflection to retrieve the WebEngine's private 'page' field.
Field f = webEngine.getClass().getDeclaredField("page");
f.setAccessible(true);
WebPage page = (WebPage) f.get(webEngine);
// Set the background color of the page to be transparent.
page.setBackgroundColor((new java.awt.Color(0, 0, 0, 0)).getRGB());
} catch (Exception e) {
System.out.println("Error: " + e);
}
}
}
//在加载内容之前放置此行
webEngine.documentProperty().addListener(新的WebDocumentListener(webEngine));
类WebDocumentListener实现ChangeListener{
私有最终网络引擎;
公共WebDocumentListener(WebEngine WebEngine){
this.webEngine=webEngine;
}
@凌驾
更改公众假期(你能发布相关的代码吗,以防链接死掉?谢谢!我投票了,现在我要尝试这些代码。@mipa我不明白为什么我需要破解一个解决方案,如果它说问题在你链接的网页上得到了解决。它说在1.8中有一个官方解决方案。官方解决方案在哪里?RT-29186在哪里据我所知,这是RT-25004的先决条件。因此,完整的解决方案尚未实施。我也不知道这是否已经进入当前版本。因此,请尝试一下。答案应该在答案中。我已将您的解决方案编辑为自己的解决方案。