2011-12-19 8 views
0

Javaアプリケーションを開発中です。アプリケーションのフレーム構造は次のとおりです。 最初に私はパネルを含むJFrameを持っています。パネルにはJListsの数があり、Jlistsの間にはドラッグアンドドロップ機能が実装されています。 アプリケーションを閉じる前にUIの内容を保存します。私はシリアル化とデシリアライゼーションを使用しており、私はそれをうまく実装しています。デシリアライズ後、ドラッグアンドドロップを除いてすべてのものが期待どおりに機能しています。私はエラーが発生していないが、ドラッグアンドドロップハンドラはリストのために確立されていない。ドラッグアンドドロップハンドラにいくつかのprint文を入れようとしましたが、結果が得られませんでした。誰かがそれについて考えられる理由を教えてくれますか?次Javaで直列化と逆シリアル化を行った後、ドラッグアンドドロップが機能しなくなる

は様々なものの、スイングで作業する場合、私は、それぞれのJListコンポーネント

$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 
} 
+0

私はまず、.equals()ではなく==がある場所をコード内で探します。バグを再現できる、コンパイル可能なスタンドアロンコードの最小のものを作ってください。人々はその情報であなたをより良く助けることができます。 –

+0

私はコンテンツをシリアライズし、UIコンポーネントのシリアライズを避けることで問題を解決しましたが、実際の問題を識別できるように問題を明確にすることができるサンプルコードを投稿します –

答えて

0

のようなものを追加したことをDnDhandlerの定義ですコンポーネントシリアライズ可能です。ではなく、を直接シリアル化してください。データを永続化する場合は、スイング要素自体ではなく、データを直列化します。

関連する問題