Ich habe die folgenden Rückruf auf die ausgewählte Zelle eines Tableview hören:JavaFX, erhalten das referenzierte Objekt durch einen 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);
}
}
});
Nun Ich mag würde das MyFTPFile-Objekt erhalten, die durch die Zelle verwiesen wird, das ist doppelt geklickt, so dass ich es an eine andere Klasse weitergeben und Sachen machen kann ... Irgendeine Idee, wie man das macht ???
Vielen Dank im Voraus.
Thx, aber es ist cell.getTableRow() getItem(), die ich habe, verwenden, um das Objekt zu erhalten. – Ilir
Also ist es :-). . . Antwort korrigiert. – jewelsea