a の「ドロップ」イベントJList
をその親 ( JPanel
) に委譲し、JList でのドロップの視覚的なフィードバックを削除したいと考えています。
これを行う正しい方法は何ですか?
オブジェクトを作成しDropTarget
、JPanel と JList の間で共有しようとしていますが、少しハックなようです --- 何をすべきか理解できず、問題が発生するのではないDropTarget.getComponent()
かと心配しています。
これを行う正しい方法をアドバイスできますか(Java 6で)?
編集: *なぜ私はこれをしているのですか? *
ユーザーがアイテムをグループに入れられるようにしようとしています (1 つの JPanel + 1 つの JList = 1 つのグループ) -- アイテムがドロップされると、リストの順序は保持されません (内部データ構造のために保持できません)。JList
。_
のデフォルトの視覚的フィードバックJList
は、追加される場所を示唆する線のようなカーソルです。デフォルトを使用すると、カーソルが表示されている場所ではなく、リストの最後にアイテムが追加されていることに気付いたときに、ユーザーは混乱します。
視覚的なフィードバックを簡単に見せるために、JPanel レベル (1 つの JList に対して 1 つの JPanel、リストの上に半透明のオーバーレイなど) で行っています。当然、その JPanel にドロップすると、リストにも追加されます。そう....