gpt4 book ai didi

scala - 如何在 JavaFX WebView 中隐藏滚动条

转载 作者:行者123 更新时间:2023-12-04 19:31:09 35 4
gpt4 key购买 nike

我正在尝试删除 javafx webview 中的滚动条。搜索论坛,建议隐藏如下:

browser.getChildrenUnmodifiable().addListener(new ListChangeListener<Node>() {
@Override public void onChanged(Change<? extends Node> change) {
Set<Node> deadSeaScrolls = browser.lookupAll(".scroll-bar");
for (Node scroll : deadSeaScrolls) {
scroll.setVisible(false);
}
}
})

但是,我收到以下错误:

“特征 ListChangeListener 是抽象的;无法实例化”

我能理解它失败的原因,但话又说回来,为什么人们使用这段代码成功了?我使用的是 Eclipse,代码包含在 Scala 代码中。

谢谢!S

最佳答案

我写了你提到的滚动条隐藏代码和posted it to a forum .

我使用 WinXPsp3、JavaFX 2.2b13、JDK7u6b14ea 再次尝试,它仍然适用于我。

我从未尝试过从 Scala 访问代码,因此您可能遇到了一些 Java<->Scala 互操作性问题。 Java 没有特征,因此您收到的错误似乎与 Scala 相关。我在您的问题中添加了一个 Scala 标签,因此也许具有 Scala 专业知识的人可以提供帮助。

这是我用来重新检查功能的一个简短的可编译测试应用程序。

import java.util.Set;
import javafx.application.Application;
import javafx.collections.ListChangeListener;
import javafx.collections.ListChangeListener.Change;
import javafx.scene.*;
import javafx.scene.web.WebView;
import javafx.stage.Stage;

// demos showing a webview which does not visibly display scrollbars.
public class NoScrollWebView extends Application {
public static void main(String[] args) { launch(args); }
@Override public void start(Stage primaryStage) {
// show a doc in webview.
final WebView webView = new WebView();
webView.getEngine().load("http://docs.oracle.com/javafx/2/get_started/jfxpub-get_started.htm");
primaryStage.setScene(new Scene(webView));
primaryStage.show();

// hide webview scrollbars whenever they appear.
webView.getChildrenUnmodifiable().addListener(new ListChangeListener<Node>() {
@Override public void onChanged(Change<? extends Node> change) {
Set<Node> deadSeaScrolls = webView.lookupAll(".scroll-bar");
for (Node scroll : deadSeaScrolls) {
scroll.setVisible(false);
}
}
});
}
}

这里最好的解决方案可能是提供一个新的 WebView 控件皮肤,其中没有任何控件 - 但在 WebView 控件开源之前这可能很难。

关于scala - 如何在 JavaFX WebView 中隐藏滚动条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11206942/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com