将ObservableList插入TableView JavaFX
我想将所有囚犯数据显示在一个表视图中。 囚犯看起来像这样(所有代码都是示例): 然后我有了我的TableView: 数据是一个将ObservableList插入TableView JavaFX,java,javafx,tablecolumn,Java,Javafx,Tablecolumn,我想将所有囚犯数据显示在一个表视图中。 囚犯看起来像这样(所有代码都是示例): 然后我有了我的TableView: 数据是一个可观察列表,返回我数据库中的所有囚犯。我在函数getData()中构建所有囚犯和所有囚犯案例 首先,从不使用原始类型。TableView的类型是表示每一行的对象的类型(在本例中为capital)。TableColumns的类型首先是TableView的类型,其次是该列中每个单元格中显示的数据类型 所以你应该 TableView<Prisoner> tv = n
可观察列表
,返回我数据库中的所有囚犯。我在函数getData()
中构建所有囚犯和所有囚犯案例
首先,从不使用原始类型。
TableView
的类型是表示每一行的对象的类型(在本例中为capital
)。TableColumn
s的类型首先是TableView
的类型,其次是该列中每个单元格中显示的数据类型
所以你应该
TableView<Prisoner> tv = new TableView<>();
TableColumn<Prisoner, String> idColumn = new TableColumn<>("ID");
TableColumn<Prisoner, String> nCaseColumn = new TableColumn<>("N° Case");
TableView tv=newtableview();
TableColumn idColumn=新的TableColumn(“ID”);
TableColumn nCaseColumn=新的TableColumn(“N°情况”);
您没有在类中显示方法;我将假设您遵循标准(我在上面更改了一些变量名,以符合这些标准)。那你就可以了
idColumn.setCellValueFactory(cellData ->
new SimpleStringProperty(cellData.getValue().getId()));
// or
// idColumn.setCellValueFactory(new PropertyValueFactory<>("id"));
// but the first version above is better, imho
nCaseColumn.setCellValueFactory(cellData ->
new SimpleStringProperty(cellData.getValue().getCase().getIdCase()));
idColumn.setCellValueFactory(cellData->
新的SimpleStringProperty(cellData.getValue().getId());
//或
//idColumn.setCellValueFactory(新属性ValueFactory(“id”);
//但是上面的第一个版本更好,imho
nCaseColumn.setCellValueFactory(cellData->
新的SimpleStringProperty(cellData.getValue().getCase().getIdCase());
首先,绝不使用原始类型。TableView
的类型是表示每一行的对象的类型(在本例中为capital
)。TableColumn
s的类型首先是TableView
的类型,其次是该列中每个单元格中显示的数据类型
所以你应该
TableView<Prisoner> tv = new TableView<>();
TableColumn<Prisoner, String> idColumn = new TableColumn<>("ID");
TableColumn<Prisoner, String> nCaseColumn = new TableColumn<>("N° Case");
TableView tv=newtableview();
TableColumn idColumn=新的TableColumn(“ID”);
TableColumn nCaseColumn=新的TableColumn(“N°情况”);
您没有在类中显示方法;我将假设您遵循标准(我在上面更改了一些变量名,以符合这些标准)。那你就可以了
idColumn.setCellValueFactory(cellData ->
new SimpleStringProperty(cellData.getValue().getId()));
// or
// idColumn.setCellValueFactory(new PropertyValueFactory<>("id"));
// but the first version above is better, imho
nCaseColumn.setCellValueFactory(cellData ->
new SimpleStringProperty(cellData.getValue().getCase().getIdCase()));
idColumn.setCellValueFactory(cellData->
新的SimpleStringProperty(cellData.getValue().getId());
//或
//idColumn.setCellValueFactory(新属性ValueFactory(“id”);
//但是上面的第一个版本更好,imho
nCaseColumn.setCellValueFactory(cellData->
新的SimpleStringProperty(cellData.getValue().getCase().getIdCase());
我认为您应该在items之前向表视图添加列,因此您的代码应该是tv.getColmuns().addAll(id\u列,n\u case\u列);设置项目(数据)
您还应该指定列类型,例如TableColumn columnName
在项没有解决任何问题之前添加列的事实。但是感谢您提供的列类型我认为您应该在items之前向表视图添加列,这样您的代码应该是tv.getColmuns().addAll(id\u column,n\u case\u column);设置项目(数据)
您还应该指定列类型,例如TableColumn columnName
在项没有解决任何问题之前添加列的事实。但是谢谢你的专栏类型
TableView<Prisoner> tv = new TableView<>();
TableColumn<Prisoner, String> idColumn = new TableColumn<>("ID");
TableColumn<Prisoner, String> nCaseColumn = new TableColumn<>("N° Case");
idColumn.setCellValueFactory(cellData ->
new SimpleStringProperty(cellData.getValue().getId()));
// or
// idColumn.setCellValueFactory(new PropertyValueFactory<>("id"));
// but the first version above is better, imho
nCaseColumn.setCellValueFactory(cellData ->
new SimpleStringProperty(cellData.getValue().getCase().getIdCase()));