61 lines
1.5 KiB
Markdown
61 lines
1.5 KiB
Markdown
# Drag & Drop
|
|
|
|
## TransferHandler
|
|
|
|
* `component.setDragEnabled(boolean)`
|
|
* `component.setDropMode(DropMode)`
|
|
* `component.setTransferHandler(TransferHandler)`
|
|
|
|
|
|
### 보내기
|
|
|
|
* `getSourceActions(JComponent)` : 보내는 컴포넌트가 어떤 액션을 지원하는지.
|
|
* `createTransferable(JComponent)` : 데이터를 묶어서 Transferable 객체로 만든다.
|
|
* `exportDone(JComponent,Transferable,int)` : 내보내기가 완료된 이후에 호출된다.
|
|
|
|
### 받기
|
|
|
|
* `canImport(Transferable.TransferSupport)` : 드래깅 동작 중 반복적으로 호출되며, 받는 컴퍼넌트가 드롭 동작을 지원하면 true를 반환한다.
|
|
* `importData(Transferable.TransferSupport)` : 드롭 동작 후에 호출되며, 데이터 전송이 성공한 경우에는 true를 반환한다.
|
|
|
|
|
|
## TransferSupport
|
|
|
|
* `getComponent()`
|
|
* `getDropAction()` : COPY | MOVE | LINK | COPY_OR_MOVE | NONE
|
|
* `getUserDropAction()`
|
|
* `getSourceDropActions()`
|
|
* `getDataFlavors()`
|
|
* `isDataFlavorSupported(DataFlavor)`
|
|
* `getTransferable()`
|
|
* `getDropLocation()`
|
|
|
|
* `setShowDropLocation(boolean)`
|
|
|
|
## DataFlavor
|
|
|
|
* allHtmlFlavor
|
|
* fragmentHtmlFlavor
|
|
* imageFlavor
|
|
* javFileListFlavor
|
|
* javaJVMLocaleObjectMimeType
|
|
* javaRemoteObjectMimeType
|
|
* javaSerializedObjectMimeType
|
|
* selectionHtmlFlavor
|
|
* stringFlavor
|
|
|
|
## DropLocation
|
|
* JList.DropLocation
|
|
* `isInsert()`
|
|
* `getIndex()`
|
|
* JTree.DropLocation
|
|
* `getChildIndex()`
|
|
* `getPath()`
|
|
* JTable.DropLocation
|
|
* `isInsertRow()`
|
|
* `isInserColumn()`
|
|
* `getRow()`
|
|
* `getColumn()`
|
|
* JTextComponent.DropLocation
|
|
* `getIndex()`
|
|
* `getBias()` |