Я написал код, скрывающий полосу прокрутки, на который вы ссылаетесь, и опубликовал его на форуме.
Я попробовал еще раз, используя 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 не станет открытым исходным кодом.
person
jewelsea
schedule
27.06.2012