在Java中进行序列化和反序列化后,Drag和Drop停止工作

时间:2011-12-19 20:23:24

标签: java serialization drag-and-drop deserialization

我正在开发一个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
}

1 个答案:

答案 0 :(得分:0)

通常,在使用swing时,虽然各种组件 可序列化,但最好直接序列化它们。如果要保留数据,请序列化数据,而不是摆动元素本身。