[英]TableView edit column JAVA FX
我正在Java FX中創建TableView,並且試圖使列可編輯。 這是我在表中的列名的代碼:
TableColumn name = new TableColumn("name");
name.setMinWidth(150);
name.setCellValueFactory(
new PropertyValueFactory<Phone,String>("name")
);
name.setCellFactory(TextFieldTableCell.forTableColumn());
name.setOnEditCommit( new EventHandler<CellEditEvent<Phone,String>>() {
@Override
public void handle(CellEditEvent<Phone,String> t) {
((Phone) t.getTableView().getItems().get(
t.getTablePosition().getRow())
).setName(t.getNewValue());
}
});
我有2條錯誤說無法找到getTableView()和getTablePosition()我遵循了oracle教程oracle教程
謝謝您的幫助。
您幾乎可以肯定輸入錯誤。 確保您正在導入
import javafx.scene.control.TableColumn.CellEditEvent ;
您還應該避免使用原始類型。 即你應該更換
TableColumn name = new TableColumn("name");
同
TableColumn<Phone, String> name = new TableColumn<>("name");
(同樣,如果尚未使用TableView<Phone>
,請確保同樣使用)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.