操作 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>
另请参阅:
在我的 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>
另请参阅: