【问题标题】:JavaFX Webview: scrollbar is overlapping contentJavaFX Webview:滚动条重叠内容
【发布时间】:2020-05-25 15:48:57
【问题描述】:

使用 JavaFX Webview 时,滚动条会与内容重叠,可能会隐藏控件等。

我在 JavaFX 11、13、14 和 15 抢先体验中进行了测试,都遇到了同样的问题。

如何使滚动条不阻塞内容?

这里有一个小花絮:

package com.company;

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.VBox;
import javafx.scene.web.WebView;
import javafx.stage.Stage;

public class Main extends Application {
    public static void main(String[] args) { launch(args); }

    public void start(Stage primaryStage) {
        WebView webView = new WebView();
        webView.getEngine().load("https://mdbootstrap.com/docs/jquery/modals/basic/");

        VBox vBox = new VBox(webView);
        Scene scene = new Scene(vBox, 960, 600);

        primaryStage.setScene(scene);
        primaryStage.show();
    }
}

Webview:Chrome:Firefox:Edge:

【问题讨论】:

  • jdk1.8.0_171没有问题

标签: java css javafx webview


【解决方案1】:

我建议使用 ScenicView - 这是一个很棒的工具。它对我解决类似问题有很大帮助。

ScrollBarWebView 的一部分。为了改变它的行为,你需要为WebView引擎创建一个自定义的.css

然后使用以下方式应用所述样式:

webView.getEngine().setUserStyleSheetLocation(getClass().getResource("/path/to/style.css").toExternalForm());.

hotzst,在this question 中提到了指向this 的链接,并总体解释了ScrollBar 的行为取决于网页。您可以通过引入它自己的样式来更改它(通过本地.css 文件) - 但它也可能损坏所述页面的结构。

michael_s,提供了一些有趣的提示和链接here,您可能想通过修改用于它的webkit 来查看它们。

很遗憾我对它没有那么熟练,所以我不知道具体需要修改什么。

希望这至少会有所帮助。

【讨论】:

  • 感谢您的有用评论!但是,我不知道该链接是否回答了我的问题 - 我不想隐藏滚动条,我只想让它停止重叠内容。
  • @GuillaumeF。我已经编辑了我的答案。不幸的是,没有解决方案,但至少有一些与您的问题相关的信息。另外,我建议将CSS 添加到您的问题标签中。
猜你喜欢
  • 1970-01-01
  • 2020-11-18
  • 2017-01-08
  • 2010-10-01
  • 1970-01-01
  • 2017-04-17
  • 2010-09-06
  • 2020-05-12
  • 2018-09-05
相关资源
最近更新 更多