操作 tableView 的滚动条

manipulate the scrollBar of a tableView

在我的 javafx 应用程序中,我有一个 table 视图,其中显示了数据,用户还可以通过双击空白区域来添加数据。 但我的问题是用户添加一些数据和 table 视图的滚动条出现的地方,它只显示包含数据的行,并且没有更多的空白区域供用户添加更多数据, 我的问题是:有什么方法可以操纵 table 视图的滚动条,这样我就可以一直有一个空白区域

布局由布局窗格管理。这些布局管理器实现布局算法,这些算法尊重节点和节点容器上的约束。所以要让 UI 的某个区域始终可见,您必须选择合适的布局窗格以将组件放置在其中,并设置适当的约束以确保组件始终可见。如何执行此操作将因封闭的布局窗格和要添加的组件而异。

这是一个示例,它创建了一个始终可见的区域,该区域位于下方,复制了类似于您 link 在您对问题的评论中的图像。您可以为 FXML 实现一个控制器,它提供拖动事件处理程序的实现,以便当有人将某些内容拖动到 "Empty area to add data" 时,相关数据将添加到 table。

<?import javafx.scene.control.*?>
<?import java.lang.*?>
<?import javafx.scene.layout.*?>

<VBox maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="277.0" prefWidth="215.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1">
   <children>
      <TableView prefHeight="200.0" VBox.vgrow="ALWAYS">
        <columns>
          <TableColumn prefWidth="96.0" text="C1" />
          <TableColumn prefWidth="93.0" text="C2" />
        </columns>
         <columnResizePolicy>
            <TableView fx:constant="CONSTRAINED_RESIZE_POLICY" />
         </columnResizePolicy>
      </TableView>
      <Label alignment="CENTER" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" onDragDetected="#dragDetected" onDragDone="#dragDone" onDragDropped="#dragDropped" onDragEntered="#dragEntered" onDragExited="#dragExited" onDragOver="#dragOver" prefHeight="70.0" text="Empty area to add data" textAlignment="CENTER" wrapText="true" VBox.vgrow="SOMETIMES" />
   </children>
</VBox>

另请参阅: