在FXML中,如果指定了控制器(Controller),则无法直接将数据添加到TableView。这是因为控制器负责处理用户界面和业务逻辑之间的交互,而不是直接操作数据。要将数据添加到TableView,需要在控制器中使用ObservableList来存储数据,并将该ObservableList与TableView进行绑定。
以下是一种实现方法:
<TableView fx:id="tableView">
<columns>
<TableColumn fx:id="column1" text="Column 1" />
<TableColumn fx:id="column2" text="Column 2" />
</columns>
</TableView>
@FXML
private TableView<Data> tableView;
@FXML
private TableColumn<Data, String> column1;
@FXML
private TableColumn<Data, String> column2;
private ObservableList<Data> dataList = FXCollections.observableArrayList();
public void initialize() {
tableView.setItems(dataList);
column1.setCellValueFactory(new PropertyValueFactory<>("property1"));
column2.setCellValueFactory(new PropertyValueFactory<>("property2"));
}
public void addData() {
Data newData = new Data("Value 1", "Value 2");
dataList.add(newData);
}
<Button text="Add Data" onAction="#addData" />
这样,当用户点击"Add Data"按钮时,将会调用控制器中的addData方法,向ObservableList中添加新的数据,然后TableView会自动更新显示。
在这个例子中,我们使用了JavaFX的TableView和ObservableList来实现数据的展示和添加。你可以根据具体的需求,使用不同的技术和工具来实现类似的功能。
腾讯云提供了一系列云计算相关的产品,例如云服务器、云数据库、云存储等,可以根据具体需求选择适合的产品。你可以访问腾讯云官网(https://cloud.tencent.com/)了解更多关于腾讯云的产品和服务。
领取专属 10元无门槛券
手把手带您无忧上云