从 JavaFX 表视图中获取选定项

2022-09-01 04:50:09

如何从 JavaFX 中的 获取所选项目?TableView

我目前正在使用

ObservableList selectedItems = taview.getSelectionModel().getSelectedItems();

但这不会使我返回选择模型中的一个选定项。


答案 1

好的,假设您有一个名为 的数据模型类。这边:Person

Person person = taview.getSelectionModel().getSelectedItem();
System.out.println(person.getName());    

请注意,必须将 a 作为类型参数以避免强制转换:TableViewPerson

@FXML
private TableView<Person> taview;

TableView<Person> taview = new TableView<>();

选择行后,将返回一个实例。然后对该实例执行任何操作。Person


答案 2
    tableview.getSelectionModel().selectedItemProperty().addListener(new ChangeListener() {
    @Override
    public void changed(ObservableValue observableValue, Object oldValue, Object newValue) {
        //Check whether item is selected and set value of selected item to Label
        if(tableview.getSelectionModel().getSelectedItem() != null) 
        {    
           TableViewSelectionModel selectionModel = tableview.getSelectionModel();
           ObservableList selectedCells = selectionModel.getSelectedCells();
           TablePosition tablePosition = (TablePosition) selectedCells.get(0);
           Object val = tablePosition.getTableColumn().getCellData(newValue);
           System.out.println("Selected Value" + val);
         }
         }
     });

使用此代码,您可以从JAVAFX TABLEVIEW Cell中获取选定的值。

谢谢。。


推荐