Перетащите Drop Swing на JavaFX, не работающий без режима отладки. - PullRequest
0 голосов
/ 14 июня 2019

У меня есть код, который получает событие Drag из приложения Swing.Затем код перетаскивает элементы в JavaFX TableView.

Этот код отлично работает, если я запускаю в режиме отладки.Но это не работает, если у меня заканчивается Debug.

private static final DataFormat customFormat = new DataFormat("application/x-java-serialized-object");

this.setOnDragOver(new EventHandler<DragEvent>() {
    public void handle(DragEvent event) {
        event.acceptTransferModes(TransferMode.ANY);
        event.consume();
    }
});

this.setOnDragDropped(new EventHandler<DragEvent>() {
    public void handle(DragEvent event) {
        try {
            Dragboard db = event.getDragboard();
            if (db == null) {
                alertInfo();
            } else {
                MyClassObject res = (MyClassObject) db.getContent(customFormat);
                // do stuffs
        } catch (Exception e) {
            LOGGER.error(e.getMessage());
        } finally {
            event.setDropCompleted(true);
            event.consume();
        }
    }
}

Я знаю, что ошибка в "MyClassObject res = (MyClassObject) db.getContent (customFormat);"строка, потому что возвращаемое исключение при сбое - «java.lang.String не может быть приведено к MyClassObject».

Однако при отладке эта ошибка не возникает.Актерский состав успешен!

Кто-нибудь когда-либо испытывал это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...