【发布时间】:2011-12-19 20:23:23
【问题描述】:
我正在开发一个 Java 应用程序。应用程序的框架结构如下。 首先我有一个包含面板的 JFrame。在面板中我有许多 JLists 并且在 Jlists 之间我已经实现了拖放功能。 现在每次关闭应用程序之前我都想保存 UI 的内容。我正在使用序列化和反序列化,并且我已经成功实现了它。反序列化后,除了拖放之外,所有事情都按预期工作。我没有收到任何错误,但没有为 Jlists 建立拖放处理程序。我试图在拖放处理程序中放置一些打印语句,但没有得到任何结果。谁能告诉我这可能是什么原因?
以下是我添加到每个 Jlist 组件中的 DnDhandler 的定义
$private ListTransferHandler dndHandler = new ListTransferHandler();
和我的 ListTranferHandler 类类似
$public class ListTransferHandler extends TransferHandler implements Serializable{
private static final long serialVersionUID = -3484014856820532284L;
//followed by all methods
// canImport
// createtranferable
// getSourceActions
// importData
//exportDone
}
【问题讨论】:
-
我猜想,我会首先在你的代码中寻找有 == 而不是 .equals() 的地方。你会帮自己一个忙,制作最小的可编译的、独立的代码来重现错误。人们可以通过这些信息更好地帮助您。
-
虽然我已经通过序列化内容和避免序列化 UI 组件解决了这个问题,但我仍然会发布一个示例代码,它可以让问题变得清晰,以便可以识别实际问题
标签: java serialization drag-and-drop deserialization