Ho il seguente richiamata in ascolto sulla cella selezionata di un TableView:JavaFX, ottenere l'oggetto a cui fa riferimento un TableCell
Callback<TableColumn<MyFTPFile,String>, TableCell<MyFTPFile,String>> cellFactory =
new Callback<TableColumn<MyFTPFile,String>, TableCell<MyFTPFile,String>>() {
public TableCell<MyFTPFile,String> call(TableColumn<MyFTPFile,String> p) {
TableCell<MyFTPFile,String> cell = new TableCell<MyFTPFile, String>() {
@Override
public void updateItem(String item, boolean empty) {
super.updateItem(item, empty);
setText(empty ? null : getString());
setGraphic(null);
}
private String getString() {
return getItem() == null ? "" : getItem().toString();
}
};
cell.addEventFilter(MouseEvent.MOUSE_CLICKED, new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent event) {
if (event.getClickCount() > 1) {
TableCell<MyFTPFile,String> c = (TableCell<MyFTPFile,String>) event.getSource();
ftpObservablelist = MyFTPClient.getInstance().getFtpObservableList();
ftpTable.setItems(ftpObservablelist);
}
}
});
Ora, vorrei ottenere l'oggetto MyFTPFile, che fa riferimento alla cella, che è doppio, così posso passarlo ad un'altra classe e fare cose ... Qualche idea come farlo ???
Grazie in anticipo.
Thx, ma è cell.getTableRow() getItem(), devo usare, per ottenere l'oggetto. – Ilir
Quindi è :-). . . risposta corretta – jewelsea