如何为TableView创建Getter和Setter

时间:2016-09-13 08:38:24

标签: java dynamic tableview setter getter

public class CatTable {


private SimpleStringProperty nameCat1;
private SimpleStringProperty nameCat2;
    private SimpleStringProperty nameCat3;
    private SimpleStringProperty nameCat4;
    private SimpleStringProperty nameCat5;
    private SimpleStringProperty nameCat6;
    .
    .
    .
    .
    private SimpleStringProperty nameCat100;

    public CatTable(){
    this.nameCat1 = new SimpleStringProperty();     
    this.nameCat2 = new SimpleStringProperty();
    this.nameCat3 = new SimpleStringProperty();
    this.nameCat4 = new SimpleStringProperty();
            .
            .
            .
    this.nameCat100 = new SimpleStringProperty();
}

    public CatTable(String nameCat1, String nameCat2, ... , nameCat100){
    this.nameCat1 = new SimpleStringProperty(numCat1);
    this.nameCat2= new SimpleStringProperty(nameCat2);
             .
             .
             .
    this.nameCat100= new SimpleStringProperty(nameCat100);
}

public String getNameCat1(){
    return nameCat1.get();
}

public void setNameCat1(String numCat1){
    this.nameCat1.set(nameCat1);
}

public String getNameCat2(){
    return nameCat2.get();
}
public void setNameCat2(String nameCat2){
    this.nameCat2.set(nameCat2);
}

    .
    .
    .
     public String getNameCat100(){
    return nameCat100.get();
    }
    public void setNameCat100(String nameCat100){
    this.nameCat100.set(nameCat100);

我尝试用getter和setter制作tableview。 如果有100个tableColumns。我为每个列创建了getter和setter

有谁知道如何简单? 我根本不知道。

1 个答案:

答案 0 :(得分:0)

您需要一个数据结构来帮助您。考虑使用列表。

public class CatTable {
    List<SimpleStringProperty> properties = new ArrayList<>();
    public void addProperty(SimpleStringProperty property) {
        properties.add(property);
    }
    public SimpleStringProperty getProperty(int index) {
        return properties.get(index);
    }
    public String getPropertyValue(int index) {
        return getProperty(index).get();
    }
    // other stuff...
}

这样,您只需一个存储点,只有一种方法可以获得所需的任何属性。请记住,Java的列表基于0,因此当您添加属性1时,它将存储在索引0中。

相关问题