java - TableView编辑列JAVA FX

标签 java oracle javafx

我正在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 tutorial

感谢您的帮助。

最佳答案

几乎可以肯定您的导入有误。确保您正在导入

import javafx.scene.control.TableColumn.CellEditEvent ;

您还应该避免使用原始类型;即你应该替换

TableColumn name = new TableColumn("name");

TableColumn<Phone, String> name = new TableColumn<>("name");

(同样,如果您还没有这样做,请确保使用 TableView<Phone>)。

关于java - TableView编辑列JAVA FX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48345935/

相关文章:

oracle - 可以将 oracle 11g 客户端与 10g 服务器一起使用吗?

javafx - 如何在JavaFX中的TableView中区分所选行和当前行?

Java 堆分配是 2MB 的倍数

java - 使用 Spring 从环境变量获取 map 属性

java - TRIM 取代 LTRIM/RTRIM

java - JDBC 错误 : java. sql.SQLException: ORA-08002: 在此 session 中尚未定义序列

webview - Javafx webview http 响应数据

java - 如何处理 JavaFX 中一个类的多种事件类型?

java - 使用MVC上传文件

java - 如何将 H.264 UDP 数据包转换为可播放的媒体流或文件(碎片整理)