Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将ObservableList插入TableView JavaFX_Java_Javafx_Tablecolumn - Fatal编程技术网

将ObservableList插入TableView JavaFX

将ObservableList插入TableView JavaFX,java,javafx,tablecolumn,Java,Javafx,Tablecolumn,我想将所有囚犯数据显示在一个表视图中。 囚犯看起来像这样(所有代码都是示例): 然后我有了我的TableView: 数据是一个可观察列表,返回我数据库中的所有囚犯。我在函数getData()中构建所有囚犯和所有囚犯案例 首先,从不使用原始类型。TableView的类型是表示每一行的对象的类型(在本例中为capital)。TableColumns的类型首先是TableView的类型,其次是该列中每个单元格中显示的数据类型 所以你应该 TableView<Prisoner> tv = n

我想将所有囚犯数据显示在一个表视图中。 囚犯看起来像这样(所有代码都是示例):

然后我有了我的TableView: 数据是一个
可观察列表
,返回我数据库中的所有囚犯。我在函数
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()));