2014-12-07 3 views
0

В настоящее время у меня есть TableView с пользовательским CellFactory. Я пытаюсь выяснить, как получить основные данные, лежащие в основе ячейки, когда мышь входит в эту ячейку.Получить данные ячейки TableView с помощью MouseEvent

Я буду использовать эти данные для заполнения метки, определенной на другом контроллере.

Я пытаюсь посмотреть фильтры событий и обработчики событий и подозреваю, что ответ имеет какое-то отношение к их использованию, но я не смог понять это или найти ответ.

Пожалуйста, дайте мне знать, какой код, если он есть, вы хотели бы видеть. Я даже не уверен, что поможет в этот момент.

ответ

0

Регистрация слушателя мыши с ячейкой для обработки mouseEntered события, и вызвать getItem() на ячейку, чтобы получить данные:

TableView<MyRowType> table = ... ; 
TableColumn<MyRowType, MyCellType> column = ... ; 

column.setCellFactory (c-> { 
    TableCell<MyRowType, MyCellType> cell = new TableCell<MyRowType, MyCellType>() { 
     @Override 
     public void updateItem(MyCellType item, boolean empty) { 
      super.updateItem(item, empty) ; 
      // your implementation here... 
     } 
    }; 
    cell.setOnMouseEntered(e -> { 
     MyCellType item = cell.getItem(); 
     if (item != null) { 
      // do whatever you need with item 
     } 
    }); 
    return cell ; 
}); 
Смежные вопросы