2013-08-15 2 views
2

Мне нужна ваша помощь. Я разрабатываю проект JavaFX, который занимается табличным представлением и формами. Моя проблема: я не могу получить текст выбранной строки в представлении таблицы. Я хочу получить текст ячейки строки, используя индекс строки или выбранную строку.JavaFX: Получить текст ячейки выбранной строки

Вот мой код:

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 
    } 
}); 

Любое решение ценится. Спасибо!

ответ

4

Если вы заботитесь только о том, какая строка выбрана, предполагается, что вы есть TableView<SomeObject>, вы можете просто использовать:

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

или если таблица позволяет только одного выбора строки:

SomeObject selected = selectionModel.getSelectedItem(); 
+0

Спасибо за ответ, но я хочу получить текст в каждой ячейке в выбранной строке. –

+0

@napstyrmaceda После того, как вы ссылаетесь на соответствующий 'SomeObject', вы можете просто запросить его поля. Возможно, вы захотите дать немного больше информации о том, как вы сначала заполняете таблицу. – assylias

+0

Привет, асилия! Спасибо вам за это! Я знаю, как заполнять представление таблицы. Я также знаю, как получить данные в выбранной строке. Я просто использовал его и преобразовал в строку. Я скоро отправлю свой ответ. Благодаря! –

Смежные вопросы