JAVA UI 拖拽功能


java GUI拖拽功能是很實用也相對高級一些的功能。

有一小部分的GUI控件支持
他們有dragEnabled屬性.這些JComponent包括:
javax.swing.JColorChooser
javax.swing.JFileChooser
javax.swing.JList
javax.swing.JTable
javax.swing.JTree
javax.swing.text.JTextComponent

大部分的控件不支持沒有這個屬性,尤其是常用的jpanel和jframe。

一種簡單的方法是實現繼承DropTargetAdapter類,這是一個實現了DropTargetListener接口的適配器,實現其中的drop方法。

該方法有一個DropTargetDropEvent對象的參數,drop里面調用順序如下

1.調用這個對象的acceptDrop方法,需要一個Int參數,使用DnDConstants (Drag and Drop常數類)里的常數

2.獲得dtde對象的getTransferable對象,在調用transferable的getTransferData方法。參數是DataFlavor.javaFileListFlavor(也是一個DataFlavor)。

DataFlavor涉及傳輸時一些信息,有些復雜,暫時沒太理解。

3.直接在控件里面new一個DropTargetAdapter對象即可。

Drag and Drop的問題簡單的說要涉及到兩個部分: Drag Source, Drop target和Transferable 即從哪里drag來的,
以及drop到哪里去, 以及傳輸的數據.

沒有進行深入了解,以下博客寫的比較詳細,有空看一看。

http://blog.sina.com.cn/s/blog_799d8220010196nj.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM