【javafx scenebuilder】关于用scenebuilder中的tableView踩坑

新建一个java文件为人的信息PersonIfmController。

package exe5;

import javafx.beans.property.SimpleStringProperty;

class PersonInformation {
    private final SimpleStringProperty name;
    private final SimpleStringProperty phoneNumber;
    private final SimpleStringProperty email;

    public PersonInformation(String name, String phoneNumber, String email){
        this.name = new SimpleStringProperty(name);
        this.phoneNumber = new SimpleStringProperty(phoneNumber);
        this.email = new SimpleStringProperty(email);
    }

    public String getName() {
        return name.get();
    }

    public SimpleStringProperty nameProperty() {
        return name;
    }

    public void setName(String name) {
        this.name.set(name);
    }

    public String getPhoneNumber() {
        return phoneNumber.get();
    }

    public SimpleStringProperty phoneNumberProperty() {
        return phoneNumber;
    }

    public void setPhoneNumber(String phoneNumber) {
        this.phoneNumber.set(phoneNumber);
    }

    public String getEmail() {
        return email.get();
    }

    public SimpleStringProperty emailProperty() {
        return email;
    }

    public void setEmail(String email) {
        this.email.set(email);
    }
}

在controller中写

    @FXML
    private TableView<PersonInformation> tableView;

    @FXML
    private void initialize(){
        final ObservableList<PersonInformation> data =
                FXCollections.observableArrayList(
                        new PersonInformation("杨昀翰","1","1"),
                        new PersonInformation("夏滔","1","1"),
                        new PersonInformation("张炎","1","1"),
                        new PersonInformation("4","1","1")
                );
        tableColName.setCellValueFactory(cellData -> cellData.getValue().nameProperty());
//        tableColName.setCellValueFactory(new PropertyValueFactory<PersonInformation, String>("name"));
        tableView.setItems(data);
    }

在这里插入图片描述
在这里插入图片描述
设置tableView和tableColumn的fx:id

即可
在这里插入图片描述

讲讲关于我踩的坑

  1. getOnEdistart方法
    在这里插入图片描述
    点击这个,然后点OnEditStart,然后
    文档中出现这个方法,我以为是会自动设置值,把内容写里面(有点蠢= =)在这里插入图片描述

关于这两句的用法

tableColName.setCellValueFactory(cellData -> cellData.getValue().nameProperty());
tableColName.setCellValueFactory(new PropertyValueFactory<PersonInformation, String>("name"));

具体为什么第一个可以第二个不可以,我也不清楚。
仅供参考,欢迎指正,看到会及时回复

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值