У меня есть код, который получает событие 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».
Однако при отладке эта ошибка не возникает.Актерский состав успешен!
Кто-нибудь когда-либо испытывал это?