0

コントローラーでドラッグ アンド ドロップ機能を使用したい (下記参照)。しかし、tableView.getParent() が NULL であるため、listner が機能しません。ここで助けてくれませんか?コードをメイン クラスに移動したくありません。

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();
            }
        });
    }
4

1 に答える 1

0

初期化されていないコードを runLater に入れるだけです。

Platform.runLater(new Runnable() {

    @Override
    public void run() {
        // youre code goes here ;-)
    }
});
于 2013-04-18T19:16:11.197 に答える