我有一個圖像節點的網格佈局,我想在應用程序中添加dnd功能,例如,當我將圖像節點拖放到目標JPanel做一些動作,例如以原始大小顯示,刪除等。我已經通過轉移處理程序和DropTargets,DragSource等方式實現了這一點。但是我有兩個問題,我希望與您討論。Java拖放圖像並拖動時顯示圖像縮略圖
a)哪種方式更好用?我明白,第二種方式給我比TransferHandler更多的功能,第一種方式最簡單。但是我可以用這兩種方式來完成我的工作,更有效的是兩種,或者我更喜歡編碼。
b)發生拖動時,我想在光標附近顯示圖像。我做的第一個是使用JFrame的glassPane並創建一個JCompoment,它繪製正確的圖像並按照光標。我可以用這種方式做出來嗎?在這之後,我在文檔中看到DragSource的startDrag方法得到一個dragImage參數,這是出於我想要的原因,我嘗試傳遞一個Image但我沒有看到任何結果。
--------------更新---------------------
對於第二個問題(b )我嘗試使用glasspane,但在java DND和我的偵聽器之間的交互操作中遇到問題,無法在glasspane中顯示圖像大拇指。每次只有其中一個正常工作。
!!! 更具體地說,當我已經調用startDrag()方法時沒有觸發mouseDragged事件
謝謝你的時間。