在FXML控制器中填充javafx.TableView可以通过以下步骤实现:
- 首先,在FXML文件中定义一个TableView控件,例如:<TableView fx:id="tableView" prefWidth="400" prefHeight="300">
<!-- 定义表格列 -->
<columns>
<TableColumn fx:id="column1" text="列1" />
<TableColumn fx:id="column2" text="列2" />
</columns>
</TableView>
- 在FXML控制器类中,通过@FXML注解将TableView和TableColumn与对应的变量进行绑定,例如:@FXML
private TableView<MyData> tableView;
@FXML
private TableColumn<MyData, String> column1;
@FXML
private TableColumn<MyData, String> column2;
- 创建一个数据模型类MyData,用于存储表格数据,例如:public class MyData {
private StringProperty data1;
private StringProperty data2;
public MyData(String data1, String data2) {
this.data1 = new SimpleStringProperty(data1);
this.data2 = new SimpleStringProperty(data2);
}
public StringProperty data1Property() {
return data1;
}
public StringProperty data2Property() {
return data2;
}
}
- 在FXML控制器类中,初始化TableView和TableColumn,并将数据填充到TableView中,例如:public class MyController implements Initializable {
@FXML
private TableView<MyData> tableView;
@FXML
private TableColumn<MyData, String> column1;
@FXML
private TableColumn<MyData, String> column2;
@Override
public void initialize(URL location, ResourceBundle resources) {
// 初始化表格列和数据
column1.setCellValueFactory(new PropertyValueFactory<>("data1"));
column2.setCellValueFactory(new PropertyValueFactory<>("data2"));
// 创建数据列表
ObservableList<MyData> dataList = FXCollections.observableArrayList();
dataList.add(new MyData("数据1", "数据2"));
dataList.add(new MyData("数据3", "数据4"));
// 将数据填充到TableView中
tableView.setItems(dataList);
}
}
在这个例子中,我们通过FXML文件定义了一个TableView和两个TableColumn,然后在FXML控制器类中将TableView和TableColumn与对应的变量进行绑定。在initialize方法中,我们初始化了表格列,并创建了一个数据列表,最后将数据填充到TableView中。
推荐的腾讯云相关产品:腾讯云云服务器(ECS),产品介绍链接地址:https://cloud.tencent.com/product/cvm