JavaFX webview 滚动条绘制未清除
JavaFX webview scrollbar draw not cleared
我有一个 AnchorPane,它包含一个包含一些内容和滚动条的 WebView。 WebView 是从 FXML 文件加载的,内容是普通的 html(当然还有一些 css 用于样式)。
一切正常,除非我想滚动或调整 window 的大小时。然后发生这种情况(经过一些滚动和调整大小):
.
看起来滚动条重绘了但没有清除。水平滚动条也是如此。我有另一个窗格,它也有一个滚动条(虽然不是 webview)并且工作正常。
HelpPane(扩展 AnchorPane)的 Java 代码非常简单:
public HelpPane() {
FXMLLoader loader = new FXMLLoader(getClass().getResource("/resources/fxml/HelpPane.fxml"));
loader.setClassLoader(getClass().getClassLoader());
loader.setController(this);
try {
Node ui = loader.load();
getChildren().add(ui);
} catch (IOException e) {
e.printStackTrace();
}
}
创建 webview 的 FXML 也没什么特别的:
<AnchorPane fx:id="apnHelpBody" styleClass="paneBody" VBox.vgrow="ALWAYS">
<children>
<WebView fx:id="webFunctionDoc" focusTraversable="false" maxHeight="-1.0" maxWidth="-1.0" minHeight="-1.0" minWidth="-1.0" prefHeight="-1.0" prefWidth="-1.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0" />
</children>
</AnchorPane>
我真的不知道是什么原因造成的,所以非常感谢您的帮助!
原来答案很简单:
我正在渲染的页面背景是透明的,所以看起来滚动条从未被清除过。将背景更改为白色修复了它。
我有一个 AnchorPane,它包含一个包含一些内容和滚动条的 WebView。 WebView 是从 FXML 文件加载的,内容是普通的 html(当然还有一些 css 用于样式)。
一切正常,除非我想滚动或调整 window 的大小时。然后发生这种情况(经过一些滚动和调整大小):
看起来滚动条重绘了但没有清除。水平滚动条也是如此。我有另一个窗格,它也有一个滚动条(虽然不是 webview)并且工作正常。
HelpPane(扩展 AnchorPane)的 Java 代码非常简单:
public HelpPane() {
FXMLLoader loader = new FXMLLoader(getClass().getResource("/resources/fxml/HelpPane.fxml"));
loader.setClassLoader(getClass().getClassLoader());
loader.setController(this);
try {
Node ui = loader.load();
getChildren().add(ui);
} catch (IOException e) {
e.printStackTrace();
}
}
创建 webview 的 FXML 也没什么特别的:
<AnchorPane fx:id="apnHelpBody" styleClass="paneBody" VBox.vgrow="ALWAYS">
<children>
<WebView fx:id="webFunctionDoc" focusTraversable="false" maxHeight="-1.0" maxWidth="-1.0" minHeight="-1.0" minWidth="-1.0" prefHeight="-1.0" prefWidth="-1.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0" />
</children>
</AnchorPane>
我真的不知道是什么原因造成的,所以非常感谢您的帮助!
原来答案很简单: 我正在渲染的页面背景是透明的,所以看起来滚动条从未被清除过。将背景更改为白色修复了它。