想在控制器中使用拖放功能(见下文)。但由于 tableView.getParent() 为 NULL,我的监听器无法正常工作。你能在这里帮忙吗?我不想将代码移动到主类。
public class CenterController implements Initializable {
@FXML public TableView<Swap> tableView;
public void initialize(URL location, ResourceBundle resources) {
loadDragDrop(tableView.getParent());
}
public void loadDragDrop(final Node n){
n.setOnDragOver(new EventHandler<DragEvent>() {
@Override
public void handle(DragEvent event) {
Dragboard db = event.getDragboard();
if (db.hasFiles()) {
event.acceptTransferModes(TransferMode.COPY);
} else {
event.consume();
}
}
});
n.setOnDragDropped(new EventHandler<DragEvent>() {
@Override
public void handle(DragEvent event) {
Dragboard db = event.getDragboard();
boolean success = false;
event.setDropCompleted(success);
event.consume();
}
});
}