【问题标题】:JavaFX TableView Unable to scroll HorizontallyJavaFX TableView无法水平滚动
【发布时间】:2018-12-10 09:53:49
【问题描述】:

我有一个用值填充 tableview 的 JavaFx 程序。该表应仅显示 6 列,其余的列应在滚动时可见。

但使用鼠标/键盘时滚动条不会移动。水平滚动条不会随鼠标或键盘箭头键移动。垂直滚动至少只能用键盘箭头键移动。

我试过了

Table.scrollTo(7);

它只是向下滚动而不是水平滚动。 在此处上传图像的屏幕截图。 .

【问题讨论】:

    标签: javafx horizontal-scrolling


    【解决方案1】:

    我也遇到了同样的问题,但我用聪明的技巧解决了这个问题

     tableView.addEventFilter(ScrollEvent.SCROLL, (ScrollEvent event) -> {
                        ScrollBar hBar = getScrollBar(tableView, Orientation.HORIZONTAL);
                        if (event.getDeltaY() > 0 && event.isShiftDown()) {
                            if (hBar.getValue() != hBar.getMin()) {
                                hBar.setValue(hBar.getValue() - 20);
                                event.consume();
                            } else {
                                event.consume();
                            }
                        } else if (event.isShiftDown()) {
                            if (hBar.getValue() != hBar.getMax()) {
                                hBar.setValue(hBar.getValue() + 20);
                                event.consume();
                            } else {
                                event.consume();
                            }
                        }
    
                    });
    

    这将起作用并使用 shift_key + mouse_scroll 水平滚动。 希望这对你也有用.. :)

    【讨论】:

      【解决方案2】:

      使用Table.scrollToColumnIndex(7);

      至于用箭头键在表格中移动。您需要enable cell selection 才能选择单个单元格。否则,您只会选择不会使 TableView 水平滚动的完整行:

      Table.getSelectionModel().setCellSelectionEnabled(true);
      

      【讨论】:

      • 哇,它成功了,但你能帮我用鼠标滚轮或用鼠标拖动滚动条吗
      猜你喜欢
      • 2014-12-30
      • 2017-05-17
      • 2020-10-08
      • 1970-01-01
      • 1970-01-01
      • 2021-10-15
      • 1970-01-01
      • 1970-01-01
      • 2014-06-16
      相关资源
      最近更新 更多