JavaFX + SQLite:TableView - 不兼容的类型

时间:2017-05-10 09:03:51

标签: java sqlite javafx

我制作了一个Maven JavaFX项目+一个SQLite数据库。

数据库看起来像这样: Database Structure

现在我可以从表单成功插入此数据库,但我无法在TableView中显示数据。我已经按照一些教程编写了一个名为ShopDetails的类:

public class ShopDetails {

private String name;
private String adress;
private String city;
private String state;
private String country;
private String zipcode;
private String phonect;
private String phonearea;
private String phonemain;
}

添加了构造函数和getter-setters。 之后我在Controller中创建了一个ObservableList:

private ObservableList<ShopDetails> data;

private Connection conn = null;
private PreparedStatement pst = null;
private ResultSet rs = null;

并连接到initialize方法内的数据库,然后我添加了

data = FXCollections.observableArrayList();

然后我创建了一个方法来设置我想要显示的数据使用此方法的列:

 private void setCellTable(){
        columnName.setCellValueFactory(new PropertyValueFactory<>("name"));
    //Other columns
    }

但它说: The error message I get

知道如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

您还需要提供将从中提取字段的objecttype

private void setCellTable(){
        columnName.setCellValueFactory(new PropertyValueFactory<ShopDetails,String>("name"));
}

在我的应用程序中,我自己创建了表格列

final TableColumn<OSTDataModel, String> taskStatus = new TableColumn<OSTDataModel, String>("Status");
taskStatus.setCellValueFactory(new PropertyValueFactory<OSTDataModel, String>("taskStatus"));

并且班级OSTDataModel是保存我的信息的数据结构,例如ShopDetails