JavaFx如何冻结TableView中某些列的位置
时间: 2024-03-08 16:49:38 浏览: 177
在JavaFX中,你可以通过设置TableView的列固定属性来冻结TableView中某些列的位置。
以下是一个示例代码:
```java
TableView<MyData> tableView = new TableView<>();
TableColumn<MyData, String> col1 = new TableColumn<>("Column 1");
TableColumn<MyData, String> col2 = new TableColumn<>("Column 2");
TableColumn<MyData, String> col3 = new TableColumn<>("Column 3");
// 设置列固定属性
col1.setResizable(false);
col1.setReorderable(false);
// 将列添加到TableView中
tableView.getColumns().addAll(col1, col2, col3);
```
在上面的示例代码中,我们将第一列设置为不可调整大小和不可重新排序,因此它将被固定在TableView的左侧。
你也可以使用以下方式来设置列的固定属性:
```java
// 设置列固定属性
col1.setMinWidth(100);
col1.setMaxWidth(100);
col1.setResizable(false);
col1.setReorderable(false);
```
在这种情况下,第一列将具有固定的最小和最大宽度为100,并且不可调整大小和不可重新排序。
请注意,如果你有多个固定列,则它们将按照它们在TableView中的顺序出现,并且它们之间的列将可以调整大小和重新排序。
阅读全文