JavaFX表未显示数据

JavaFX表未显示数据,java,javafx,Java,Javafx,下面我将编写一个JavaFX代码来填充和显示表中的记录。记录可以是多个,并且记录是LibraryMember类(如下所示)的对象,但该表不显示记录。请找出我的代码中有什么错误 private TableView<LibraryMember> table; public ObservableList<LibraryMember> allMemberDataRecords = list; /* The data in the above list is in the fol

下面我将编写一个JavaFX代码来填充和显示表中的记录。记录可以是多个,并且记录是LibraryMember类(如下所示)的对象,但该表不显示记录。请找出我的代码中有什么错误

private TableView<LibraryMember> table;
public ObservableList<LibraryMember> allMemberDataRecords = list;

/*
The data in the above list is in the following format:
[Member Info: ID: 1004, name: Ricardo Montalbahn, 641-472-2871 (501 Central, Mountain View, 94707), Member Info: ID: 1003, name: Sarah Eagleton, 451-234-8811 (42 Dogwood Dr., Fairfield, 52556), Member Info: ID: 1002, name: Drew Stevens, 702-998-2414 (1435 Channing Ave, Palo Alto, 94301), Member Info: ID: 1001, name: Andy Rogers, 641-223-2211 (5001 Venice Dr., Los Angeles, 93736)]
*/


table = new TableView();
table.setEditable(true);

TableColumn idCol = new TableColumn("Member Id");
idCol.setCellValueFactory(new PropertyValueFactory<LibraryMember, String>("memberId"));

TableColumn firstNameCol = new TableColumn("First Name");
firstNameCol.setCellValueFactory(new PropertyValueFactory<LibraryMember, String>("firstName"));

TableColumn lastNameCol = new TableColumn("Last Name");
lastNameCol.setCellValueFactory(new PropertyValueFactory<LibraryMember, String>("lastName"));

TableColumn streetCol = new TableColumn("Street");
lastNameCol.setCellValueFactory(new PropertyValueFactory<LibraryMember, String>("lastName"));

TableColumn cityCol = new TableColumn("City");
cityCol.setCellValueFactory(new PropertyValueFactory<LibraryMember, String>("city"));

TableColumn stateCol = new TableColumn("State");
stateCol.setCellValueFactory(new PropertyValueFactory<LibraryMember, String>("state"));

TableColumn zipCol = new TableColumn("Zip");
zipCol.setCellValueFactory(new PropertyValueFactory<LibraryMember, String>("zip"));

TableColumn phoneCol = new TableColumn("Telephone");
phoneCol.setCellValueFactory(new PropertyValueFactory<LibraryMember, String>("telephone"));

table.setItems(allMemberDataRecords);
table.getColumns().addAll(idCol, firstNameCol, lastNameCol, streetCol, cityCol, stateCol, zipCol, phoneCol);

final VBox vbox = new VBox();
vbox.setSpacing(5);
vbox.getChildren().add(table);
grid.add(vbox, 0, 1);

Scene scene = new Scene(grid);
scene.getStylesheets().add(getClass().getResource("library.css").toExternalForm());
setScene(scene);

请创建一个。将重现问题所需的一切都放在
start
方法中,并发布完整的项目类型将是一个好主意;如果您已经确认这不是问题所在,请确保填充数据的逻辑也在那里,并且没有它可能得到的那么简单(=一些硬编码值)。现在我发现有几种方法可能会出错,我们无法判断哪种方法适用…@Agha Salman我不知道你为什么要这样做?-><代码>公共可观察列表allMemberDataRecords=列表这是您在真实代码中拥有的吗?名单是从哪里来的?请确保
列表
中有数据要填充到表中。
package business;

import java.io.Serializable;
import java.time.LocalDate;


import dataaccess.DataAccess;
import dataaccess.DataAccessFacade;

final public class LibraryMember extends Person implements Serializable {
    private String memberId;

    public LibraryMember(String memberId, String fname, String lname, String tel,Address add) {
        super(fname,lname, tel, add);
        this.memberId = memberId;       
    }


    public String getMemberId() {
        return memberId;
    }



    @Override
    public String toString() {
        return "Member Info: " + "ID: " + memberId + ", name: " + getFirstName() + " " + getLastName() + 
                ", " + getTelephone() + " " + getAddress();
    }

    private static final long serialVersionUID = -2226197306790714013L;
}