想在控制器中使用拖放功能(见下文)。但由于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();
}
});
}
答案 0 :(得分:0)
只需将未初始化的代码放在runLater中:
Platform.runLater(new Runnable() {
@Override
public void run() {
// youre code goes here ;-)
}
});