JavaFX:获取所选行单元格的文本

标签 java javafx-2 javafx

我需要你的帮助。 我正在开发处理 TableView 和表单的 JavaFX 项目。 我的问题是我无法获取 TableView 中所选行的文本。 我想使用行索引或选定的第一行获取行单元格的文本。

这是我的代码:

myTableView.getSelectionModel().selectedItemProperty().addListener( new ChangeListener() {
    @Override
    public void changed(ObservableValue ov, Object t, Object t1) {

        TableView.TableViewSelectionModel selectionModel = myTableView.getSelectionModel();
        ObservableList selectedCells = selectionModel.getSelectedCells();
        TablePosition tablePosition = (TablePosition) selectedCells.get(0);
        int rowIndex = tablePosition.getRow(); // yields the row that the currently selected cell is in 

        // I Want to get the cell's text in the row using the row_index or the selected row one
    }
});

任何解决方案都值得赞赏。谢谢!

最佳答案

如果您只关心选择哪一行,假设您有 TableView<SomeObject> ,您可以简单地使用:

List<SomeObject> selected = selectionModel.getSelectedItems();

或者如果您的表格仅允许单行选择:

SomeObject selected = selectionModel.getSelectedItem();

关于JavaFX:获取所选行单元格的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18247909/

相关文章:

java - 打印按键事件

java - Java线程: 'join' froze my program

构造时的 java.time.temporal.ValueRange 错误

java - 如何确定选择了哪个FileChooser ExtensionFilter - javafx

css - 如何为单个系列条形图添加 3 个图例?? JAVAFX

Linux 中的 JavaFX WebEngine 视频播放

java - JavaFX 无限时间线中的内存泄漏

JavaFX : Draw on Center Pane based on user input in Left Pane

java - 我不知道 Eclipse 中的数组发生了什么

java - 与 HashMap<Long, String> 数据相比,为什么 data.entrySet().iterator() 的排序顺序不同?