JavaFX 用TableView实现二维表
时间: 2024-12-12 07:33:12 浏览: 8
JavaFX是一个强大的图形用户界面(GUI)工具包,它允许开发者构建复杂的桌面应用。其中,`TableView` 是JavaFX提供的一种用于展示表格数据的重要组件,可以用来实现二维表(类似电子表格)。以下是如何使用`TableView`创建一个简单的二维表步骤:
1. **创建数据模型**:首先,你需要一个数据源,比如一个`ArrayList`或`ObservableList`来存储你的数据行。每个数据行可以是`javafx.collections.ObservableMap`、自定义的对象或者包含各个字段的数据类。
```java
List<Map<String, String>> data = FXCollections.observableArrayList(
Map.of("列1", "值1", "列2", "值2"),
// ...更多数据行
);
```
2. **创建TableView**:然后,你可以创建一个`TableView`实例,并指定数据源。
```java
TableView<Map<String, String>> tableView = new TableView<>();
tableView.setItems(data);
```
3. **添加列**:通过`TableView.Columns`来定义列标题和对应的列。例如,如果你的数据包含两列,你可以这样做:
```java
// 添加一列
StringColumn column1 = new StringColumn("列1");
column1.setCellValueFactory(cellData -> cellData.getValue().get("列1"));
// 添加另一列
StringColumn column2 = new StringColumn("列2");
column2.setCellValueFactory(cellData -> cellData.getValue().get("列2"));
// 将列添加到TableView中
tableView.getColumns().addAll(column1, column2);
```
4. **样式调整**:你可以对`TableView`和其内容进行样式定制,如背景颜色、边框等。
5. **事件处理**:对于单元格的点击或其他操作,`TableView`提供了监听器接口供你处理。
完成以上步骤后,你就有了一个基本的二维表视图了。
阅读全文