从 JavaFX TableView 中获取选定的项目

新手上路,请多包涵

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

我目前正在使用

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

但这并没有给我返回选择模型中的一个选定项目。

原文由 Josejacob99 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 655
2 个回答

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

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

请注意 TableView 必须将 Person 作为类型参数以避免转换:

 @FXML
private TableView<Person> taview;

或者

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

选择您的行后,您将返回一个 Person 实例。然后用那个实例做任何你想做的事。

原文由 Branislav Lazic 发布,翻译遵循 CC BY-SA 3.0 许可协议

    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 单元格中获取选定的值。

谢谢..

原文由 Java Man 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题