JavaFX 将 ObservableList<String> 添加到单列 TableView
JavaFX adding ObservableList<String> to single column TableView
我想将 ObservableList batchNumber 中的数据添加到只包含一列的表视图,但我卡住了,因为我找到的所有教程都是关于添加对象类型,而不是字符串类型。
这是我用来生成格式为 AAA0000 的随机批号的函数
public String generateBatch(){
Random rand = new Random();
String[] alphabet = "Q W E R T Y U I O P A S D F G H J K L Z X C V B N M".split(" ");
String batch = new String();
batch = alphabet[rand.nextInt(0, 26)] + alphabet[rand.nextInt(0, 26)] + alphabet[rand.nextInt(0, 26)] + rand.nextInt(1000, 9999);
return batch;
}
然后我将一堆批号添加到 ObservableList
ObservableList<String> batchNumber = FXCollections.observableArrayList();
for(int i = 0; i < 10; i++){
batchNumber.add(generateBatch());
}
所以现在 batchNumber 加载了一堆字符串,然后我尝试将它们分配给 tableView
TableView<String> batchNumberTableView = new TableView<>();
TableColumn<String, ?> batchColumn = new TableColumn<>("Vaccine Batch Number");
batchNumberTableView.getColumns().add(batchColumn);
这就是我卡住的地方,我已经成功地将一列添加到表视图中,但我不知道如何将 batchNumber 中的数据分配到表视图中。
你需要
TableColumn<String, String> batchColumn = new TableColumn<>("Vaccine Batch Number");
batchColumn.setCellValueFactory(cellData -> new SimpleStringProperty(cellData.getValue()));
我想将 ObservableList batchNumber 中的数据添加到只包含一列的表视图,但我卡住了,因为我找到的所有教程都是关于添加对象类型,而不是字符串类型。
这是我用来生成格式为 AAA0000 的随机批号的函数
public String generateBatch(){
Random rand = new Random();
String[] alphabet = "Q W E R T Y U I O P A S D F G H J K L Z X C V B N M".split(" ");
String batch = new String();
batch = alphabet[rand.nextInt(0, 26)] + alphabet[rand.nextInt(0, 26)] + alphabet[rand.nextInt(0, 26)] + rand.nextInt(1000, 9999);
return batch;
}
然后我将一堆批号添加到 ObservableList
ObservableList<String> batchNumber = FXCollections.observableArrayList();
for(int i = 0; i < 10; i++){
batchNumber.add(generateBatch());
}
所以现在 batchNumber 加载了一堆字符串,然后我尝试将它们分配给 tableView
TableView<String> batchNumberTableView = new TableView<>();
TableColumn<String, ?> batchColumn = new TableColumn<>("Vaccine Batch Number");
batchNumberTableView.getColumns().add(batchColumn);
这就是我卡住的地方,我已经成功地将一列添加到表视图中,但我不知道如何将 batchNumber 中的数据分配到表视图中。
你需要
TableColumn<String, String> batchColumn = new TableColumn<>("Vaccine Batch Number");
batchColumn.setCellValueFactory(cellData -> new SimpleStringProperty(cellData.getValue()));