小编and*_*bot的帖子

行数较大时 JavaFX TableView 滚动性能问题

我很困惑。我有一个用例,涉及以 TableView 形式呈现任意大的分页表格结果集。

我发现,当我滚动到较大的行序数时,精细滚动(通过 TableView 上的触摸手势或鼠标滚轮)和粗滚动(通过拖动滚动条滑块)都会降低到无法使用。

降级发生在相对较小的行数(<~1M)时。请注意,数据模型仅在任何给定的行偏移处保存一小部分数据,并动态加载页面以响应滚动事件。

我将用例提炼为下面的几行代码。我过去能够支持类似的用例(大约 4 年前,10 亿行),没有任何问题,所以我知道这是可行的。然而,无论现在的问题是什么,我就是看不到它。

迫切需要帮助...

顺便说一句,我已经尝试过使用 SDK 和 JavaFX 的各种排列来实现相同的效果。

package com.example.demo;

import javafx.application.Application;
import javafx.beans.property.SimpleStringProperty;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.collections.ObservableListBase;
import javafx.scene.CacheHint;
import javafx.scene.Scene;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.layout.BorderPane;
import javafx.stage.Stage;

import java.util.ArrayList;
import java.util.List;

public class Main extends Application {

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

    @Override
    public void start(Stage stage) {
        final TableView<Row> table = new TableView();
        final BorderPane borderPane = new BorderPane();
        final Scene scene …
Run Code Online (Sandbox Code Playgroud)

java javafx tableview

7
推荐指数
1
解决办法
344
查看次数

标签 统计

java ×1

javafx ×1

tableview ×1