JavaFX TreeTableView计算滚动条错误

标签 java javafx-8

我的 JavaFX TreeTableView 有问题。在一种情况下,我有超过 100 列,这里的问题是最严重的。我使用的是 JDK 8u121x64。

当有很多列时,滚动条计算错误并剪切最后一列。这是一个 SSCCE

import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.TreeItem;
import javafx.scene.control.TreeTableColumn;
import javafx.scene.control.TreeTableView;
import javafx.scene.layout.Priority;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;

public class TreeTableViewScroll extends Application {

    public static void main(final String[] args) {
        launch(args);
    }

    @Override
    public void start(final Stage primaryStage) throws Exception {
        final Scene scene = createScene();

        primaryStage.setTitle("Tree Table View Scroll");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    private Scene createScene() {
        final VBox vBox = new VBox();
        vBox.setPadding(new Insets(5));
        vBox.setSpacing(5);

        final TreeTableView<String> resultsTable = new TreeTableView<>();
        resultsTable.setShowRoot(false);
        final TreeItem<String> rootItem = new TreeItem<>();
        resultsTable.setRoot(rootItem);

        for (int i = 0; i < 200; i++) {
            final TreeTableColumn<String, String> dummyColumn = new TreeTableColumn<>("Long Column name " + i);
            resultsTable.getColumns().add(dummyColumn);
        }

        final TreeTableColumn<String, String> nameColumn = new TreeTableColumn<>("Name_very long column text");
        resultsTable.getColumns().add(nameColumn);

        vBox.getChildren().setAll(resultsTable);
        VBox.setVgrow(resultsTable, Priority.ALWAYS);
        vBox.setPrefSize(800, 600);

        for (int i = 0; i < 50; i++) {
            final TreeItem<String> newItem = new TreeItem<>("Text " + i);
            rootItem.getChildren().add(newItem);
            newItem.getChildren().add(new TreeItem<>("Text " + i));
        }

        return new Scene(vBox);
    }
}

我错过了什么?或者这是一个框架错误?如果,我应该在哪里提交该错误?

Screenshot of the

最佳答案

这是 JDK8 中的一个问题,我可以在 JDK9 ea 构建中看到预期结果 您应该使用 java - http://bugreport.java.com/submit_intro.do 提交问题

enter image description here

关于JavaFX TreeTableView计算滚动条错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43520674/

相关文章:

java - 如何使用stripe-java或rest api获取产品的计划

java - Gradle Application 插件的 Maven 替代(等效)

java - 我无法提供 ViewModel

javafx-8 - JavaFX : How to stop TextFLow objects from Wrapping

canvas - JavaFX 8 Canvas 字体总是粗体

javafx - 如何在 FXML 中仅显示 JavaFX DatePicker 日历弹出窗口而不显示 ComboBox?

java - 处理来自 Servlet 的 Jquery AJAX 响应中的异常

java - 如何将添加添加到我们的 Android 应用程序中

java - 阶段加载时删除 javafx 中边框 Pane 中的特定节点

java - 如何使文本流可选择