我有一个代码,可以从Swing应用程序中获取拖动事件。然后,代码将元素放入JavaFX表视图中。
如果我在调试模式下运行,这段代码可以很好地工作。但如果调试用完了,它就不起作用。
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”。
但是,在调试中不会发生此错误。演员阵容成功!
有人经历过吗?
它似乎与Java缓存有关。清除Java控件中的所有缓存后,代码正确运行。
我正在尝试将自定义对象从JPanel拖放到JavaFX场景<为了实现这一点,我创建了一个带有自定义对象和自定义TransferHandler的简单应用程序。在本例中,我的问题是,当我在
我在网格窗格中用两个ImageView做拖放测试。我的问题是,当我完成拖放并将目标imageview移动到源imageview并释放鼠标时,我错误地以显示“img2”中的图片而不是“img1”中的图片结束。当我注释掉“setOnDragExited”方法时,我最终得到了正确的图像“img1”,任何建议都将不胜感激。
所以我正在编写一个脚本,它从动态网页中抓取一些数据并将其提交到我的数据库表中。为此,我在Python中使用了Selenium。在我重新启动我的系统之前,一切都非常好。现在chrome只在无头模式下工作,当我注释掉该选项以便我可以看到chrome浏览器的实际窗口时,我得到了这个错误 selenium.common.exceptions。WebDriverException:消息:未知错误:Chrom
我知道这可以在Servlet3.0中通过@Webservlet注释实现,在这里您只需分配url模式,而不必在web.xml中进行任何配置。是否有一种方法可以通过编程方式为运行Servlet2.5的应用程序分配servlets url模式? 我正在创建一个库,多个应用程序将依赖于它,并试图使它,以便这些应用程序中的每一个都不必显式配置任何servlet url映射,我正在创建的库中的servlet在
我试着去看其他的代码例子,但是它们和我的代码比较相似,但是我的应用程序仍然会因为同样的错误而崩溃。 这是我使用firebase文档的指导方针编写的代码: 上面的代码正在将otp发送到给定的号码,但是它崩溃了,并且cat-log显示了上面提到的错误。