---
title: Drag and Drop
tags: [DragAndDrop, TransferHandler, DragGestureListener, DropTargetListener, DataFlavor]
description: Drag & Drop関係の記事へのスクリーンショット付きリンク一覧
---
このページでは、`Drag & Drop`関係の`Tips`を一覧にしています。

#contents

* Drag & Drop [#DragAndDrop]
** JTabbedPaneのタブをドラッグ&ドロップ [#DnDTabbedPane]
#swingdescription(Swing/DnDTabbedPane,JTabbedPaneのタブをドラッグ&ドロップ,JTabbedPaneのタブをDrag&Dropで移動します。,https://lh6.googleusercontent.com/_9Z4BYR88imo/TQTLjYzYe0I/AAAAAAAAAXw/nr90t9LvfMI/s200/DnDTabbedPane.png)

** JTabbedPane間でタブのドラッグ&ドロップ移動 [#DnDExportTabbedPane]
#swingdescription(Swing/DnDExportTabbedPane,JTabbedPane間でタブのドラッグ&ドロップ移動,JTabbedPane間でタブのDrag&Dropによる移動を行います。,https://lh5.googleusercontent.com/_9Z4BYR88imo/TQTLW06ZMXI/AAAAAAAAAXc/vzeXm4pwhVY/s200/DnDExportTabbedPane.png)

** JListのアイテムをラバーバンドで複数選択、ドラッグ&ドロップで並べ替え [#DragSelectDropReordering]
#swingdescription(Swing/DragSelectDropReordering,JListのアイテムをラバーバンドで複数選択、ドラッグ&ドロップで並べ替え,JListのアイテムを、ラバーバンドで複数選択、ドラッグ&ドロップで並べ替え可能にします。,https://lh5.googleusercontent.com/_9Z4BYR88imo/TQTL3XY_VqI/AAAAAAAAAYQ/RFVaD4w5C9w/s200/DragSelectDropReordering.png)

** TransferHandlerを使ったJListのドラッグ&ドロップによる並べ替え [#DnDReorderList]
#swingdescription(Swing/DnDReorderList,TransferHandlerを使ったJListのドラッグ&ドロップによる並べ替え,JListのアイテムを複数選択し、ドラッグ&ドロップで並べ替えを可能にするTransferHandlerを作成します。,https://lh4.googleusercontent.com/_9Z4BYR88imo/TQTLeSCyHuI/AAAAAAAAAXo/v2OLiSPdgEY/s200/DnDReorderList.png)

** JListの項目をドラッグ&ドロップ [#DnDList]
#swingdescription(Swing/DnDList,JListの項目をドラッグ&ドロップ,JListをドラッグ&ドロップして、項目を入れ替えます。,https://lh6.googleusercontent.com/_9Z4BYR88imo/TQTLb3DW2ZI/AAAAAAAAAXk/8VfeirUfaoo/s200/DnDList.png)

** JTableの行を別のJTableにドラッグして移動 [#DragRowsAnotherTable]
#swingdescription(Swing/DragRowsAnotherTable,JTableの行を別のJTableにドラッグして移動,JTableの行を別のJTableにDrag&Dropで移動します。,https://lh3.googleusercontent.com/_9Z4BYR88imo/TQTL05H70DI/AAAAAAAAAYM/YtTZHzrA2HU/s200/DragRowsAnotherTable.png)

** TransferHandlerを使ってJTableの行をドラッグ&ドロップ、並べ替え [#DnDReorderTable]
#swingdescription(Swing/DnDReorderTable,TransferHandlerを使ってJTableの行をドラッグ&ドロップ、並べ替え,JTableの行を複数選択し、ドラッグ&ドロップで並べ替えを可能にするTransferHandlerを作成します。,https://lh3.googleusercontent.com/_9Z4BYR88imo/TQTLg-5HyXI/AAAAAAAAAXs/Wda5rMSf-1c/s200/DnDReorderTable.png)

** JTableの行をドラッグ&ドロップ [#DnDTable]
#swingdescription(Swing/DnDTable,JTableの行をドラッグ&ドロップ,JTableの行を選択し、その順序をドラッグ&ドロップで入れ替えます。,https://lh4.googleusercontent.com/_9Z4BYR88imo/TQTLl0NAFoI/AAAAAAAAAX0/su1r-c7f4V0/s200/DnDTable.png)

** JTreeのノードをドラッグ&ドロップ [#DnDTree]
#swingdescription(Swing/DnDTree,JTreeのノードをドラッグ&ドロップ,JTreeのノードをドラッグ&ドロップで移動します。,https://lh3.googleusercontent.com/_9Z4BYR88imo/TQTLofRhAtI/AAAAAAAAAX4/d1C6sFO5s4g/s200/DnDTree.png)

** FileをJavaアプリケーションからドロップ [#DragSource]
#swingdescription(Swing/DragSource,FileをJavaアプリケーションからドロップ,JavaアプリケーションからWindowsのデスクトップなどにFileをドロップします。,https://lh3.googleusercontent.com/_9Z4BYR88imo/TQTL5-PTzWI/AAAAAAAAAYU/G2P--5GJWSU/s200/DragSource.png)

* ↑10 ↓11 [#w6bef0ea]
#adsensebar

** Fileのドラッグ&ドロップ [#FileListFlavor]
#swingdescription(Swing/FileListFlavor,Fileのドラッグ&ドロップ,WindowsなどからファイルをJTableにドラッグ&ドロップします。,https://lh4.googleusercontent.com/_9Z4BYR88imo/TQTMhxsIIsI/AAAAAAAAAZU/iZ6Pn8yTFFM/s200/FileListFlavor.png)

** TransferHandlerでHyperlinkをブラウザにドロップ [#DraggableLinkButton]
#swingdescription(Swing/DraggableLinkButton,TransferHandlerでHyperlinkをブラウザにドロップ,JButtonにTransferHandlerを設定して、ブラウザにリンクをドロップできるようにします。,https://lh3.googleusercontent.com/_9Z4BYR88imo/TQTLyb41hvI/AAAAAAAAAYI/uoSzZ3thyWk/s200/DraggableLinkButton.png)

** JComponentの形状を変更する [#MoveNonRectangularImage]
#swingdescription(Swing/MoveNonRectangularImage,JComponentの形状を変更する,マウスカーソルに反応するコンポーネントの領域をJLabelに設定した画像アイコンの不透明領域に合わせて変更します。,https://lh5.googleusercontent.com/_9Z4BYR88imo/TQTQKdiDk4I/AAAAAAAAAfI/tb322r8ngL0/s200/MoveNonRectangularImage.png)

** Mouseで画像を移動、回転 [#MouseDrivenImageRotation]
#swingdescription(Swing/MouseDrivenImageRotation,Mouseで画像を移動、回転,画像をマウスのドラッグで任意の位置に移動、回転します。,https://lh4.googleusercontent.com/_9Z4BYR88imo/TQTQAQVe8YI/AAAAAAAAAe4/y6GTZLKjqx0/s200/MouseDrivenImageRotation.png)

** JList間でのドラッグ&ドロップによるアイテムの移動 [#DnDBetweenLists]
#swingdescription(Swing/DnDBetweenLists,JList間でのドラッグ&ドロップによるアイテムの移動,JList間でのドラッグ&ドロップによるアイテムの移動や並べ替えを行います。,https://lh5.googleusercontent.com/_9Z4BYR88imo/TQTLUTkzH4I/AAAAAAAAAXY/tSQriEN1G_Y/s200/DnDBetweenLists.png)

** JTableでファイルとディレクトリを別々にソート [#FileDirectoryComparator]
#swingdescription(Swing/FileDirectoryComparator,JTableでファイルとディレクトリを別々にソート,JTableでファイルとディレクトリを別々にソートし、ディレクトリが常に先頭になるように設定します。,https://lh3.googleusercontent.com/_9Z4BYR88imo/TQXAQuafMsI/AAAAAAAAAqU/BDQdRbMeSnE/s200/FileDirectoryComparator.png)

** Iconを生成する [#DragHereIcon]
#swingdescription(Swing/DragHereIcon,Iconを生成する,Iconインタフェースから固定サイズのアイコンを作成します。,https://lh5.googleusercontent.com/-PTY9ydf9DFE/T97u-rwg5lI/AAAAAAAABN0/52xJLmkoNak/s200/DragHereIcon.png)

** JFrameの外側でもドラッグアイコンを表示する [#DragSourceMotionListener]
#swingdescription(Swing/DragSourceMotionListener,JFrameの外側でもドラッグアイコンを表示する,ドラッグ中のカーソル位置をDragSourceMotionListenerで取得し、そこにアイコンを追加したWindowを移動することで、JFrameの外側でもドラッグアイコンを表示します。,https://lh4.googleusercontent.com/-HM5QzW5AZlk/UB9iFlbSZMI/AAAAAAAABQM/fggojAo0b-E/s200/DragSourceMotionListener.png)

** JToolBarに配置したアイコンをドラッグして並べ替える [#RearrangeToolBarIcon]
#swingdescription(Swing/RearrangeToolBarIcon,JToolBarに配置したアイコンをドラッグして並べ替える,JToolBarに配置したアイコンをドラッグ&ドロップで並べ替えます。,https://lh6.googleusercontent.com/-bxLoJ6g9K_I/UWBOghG3kxI/AAAAAAAABpQ/tvVELkL1RV0/s200/RearrangeToolBarIcon.png)

** JScrollPane内にある複数Componentを配置したJPanelをJLayerを使ってドラッグスクロール [#DragScrollLayer]
#swingdescription(Swing/DragScrollLayer,JScrollPane内にある複数Componentを配置したJPanelをJLayerを使ってドラッグスクロール,複数のネストしたComponentを配置したJPanelのドラッグイベントを、JScrollPaneをラップしたJLayerで受け取ってスクロール可能にします。,https://lh5.googleusercontent.com/-5zBF0JOr6kM/UfuiEj7Do7I/AAAAAAAABxg/7tKYnrOl9eo/s200/DragScrollLayer.png)

* ↑20 ↓21 [#h058cba3]
#adsensebar

** JInternalFrame間でのドラッグ&ドロップによるJTableの行入れ替え [#InternalFrameDropTarget]
#swingdescription(Swing/InternalFrameDropTarget,JInternalFrame間でのドラッグ&ドロップによるJTableの行入れ替え,JInternalFrame間でJTableの行をドラッグ&ドロップを使って入れ替えます。,https://lh5.googleusercontent.com/-UP_I_iTgtpc/U3jPL_jhwuI/AAAAAAAACFg/olJ1Sf-P_lU/s200/InternalFrameDropTarget.png)

* ↑20 ↓21 [#h058cba3]
#adsensebar

** JListのTransferHandlerにドラッグイメージを設定する [#GhostDragImage]
#swingdescription(Swing/GhostDragImage,JListのTransferHandlerにドラッグイメージを設定する,JListのアイテムをドラッグ中に表示するイメージをカスタマイズしてTransferHandlerに設定します。,https://lh4.googleusercontent.com/-lGkFK-bJoYE/VDEztZsJyOI/AAAAAAAACOg/Hs7B-dcJAkk/s200/GhostDragImage.png)

** JTabbedPaneのタブ上にリストアイテムをドロップ [#DropOnTabTitle]
#swingdescription(Swing/DropOnTabTitle,JTabbedPaneのタブ上にリストアイテムをドロップ,JTabbedPaneのタブ上にドロップすることで、選択しているListItemをそのタブ内にあるJListへ移動します。,https://lh5.googleusercontent.com/-oMjKQSnXvmM/VEzg70T1BQI/AAAAAAAANnU/Exu8u5wYyAw/s200/DropOnTabTitle.png)

** JPanelの並び順をドラッグ&ドロップで入れ替える [#RearrangeOrderOfPanels]
#swingdescription(Swing/RearrangeOrderOfPanels,JPanelの並び順をドラッグ&ドロップで入れ替える,JPanelに配置した子コンポーネントの並び順を、マウスのドラッグ&ドロップによる入れ替えで変更します。,https://lh3.googleusercontent.com/-9IOKBRfVxZE/VIRiCikcIkI/AAAAAAAANss/0DrZLpxPEWo/s200/RearrangeOrderOfPanels.png)

** JLayerを使用してコンポーネントの並べ替えを行う [#ReorderingLayer]
#swingdescription(Swing/ReorderingLayer,JLayerを使用してコンポーネントの並べ替えを行う,JPanel内に配置したコンポーネントの並べ替えで、ドラッグ中のコンポーネントをJLayerで描画します。,https://lh3.googleusercontent.com/-gW9pryNmoYY/VSFFArmXElI/AAAAAAAAN2A/CYZqhoCR0EE/s200/ReorderingLayer.png)

** JTableのセルを選択してJListにドラッグ&ドロップでIconをコピーする [#TableCellTransferHandler]
#swingdescription(Swing/TableCellTransferHandler,JTableのセルを選択してJListにドラッグ&ドロップでIconをコピーする,JTableのセルを選択可能にし、ドラッグ&ドロップでそのセル内のIconをJListにコピーできるようにTransferHandlerを設定します。,https://lh3.googleusercontent.com/-TUrxk7yYqYM/VWHkR1mENvI/AAAAAAAAN4w/bEU29WIgjOE/s200/TableCellTransferHandler.png)

** JTree間でのドラッグ&ドロップによるノードの移動 [#DnDBetweenTrees]
#swingdescription(Swing/DnDBetweenTrees,JTree間でのドラッグ&ドロップによるノードの移動,JTree間でのドラッグ&ドロップによるノードの移動を行います。,https://lh3.googleusercontent.com/-orv222AWr0E/VsnVITv64uI/AAAAAAAAOPE/vGmbPDCu4nY/s200-Ic42/DnDBetweenTrees.png)

** JTextFieldのドラッグ&ドロップ設定をテストする [#DragEnabledTextComponent]
#swingdescription(Swing/DragEnabledTextComponent,JTextFieldのドラッグ&ドロップ設定をテストする,JTextFieldが初期状態や編集不可の場合などでドラッグ&ドロップをテストします。,https://drive.google.com/thumbnail?id=1bHJS4TOFW3wUg-zz4Ut_gnrS2vYNXKE_Vg)

** JList間でのコピー&ペーストによるアイテムの移動 [#ExportToClipboard]
#swingdescription(Swing/ExportToClipboard,JList間でのコピー&ペーストによるアイテムの移動,JList間でコピー&ペーストによるアイテムの複製・移動を行います。,https://drive.google.com/thumbnail?id=1wNH_7qaS-YirfMG-vli1p7sETt3v5oaciA)

** TransferHandlerを使用したドラッグ&ドロップで挿入先を表示するドロップラインの色を変更する [#DropLineColor]
#swingdescription(Swing/DropLineColor,TransferHandlerを使用したドラッグ&ドロップで挿入先を表示するドロップラインの色を変更する,JList、JTable、JTreeのTransferHandlerを使用したドラッグ&ドロップで挿入先を表示するドロップラインの色を変更します。,https://drive.google.com/thumbnail?id=1zV5JFERJgM_2M66Sa8dWyRViXHZfQdkL)

* ↑30 ↓31 [#df333bea]
#adsensebar

** JFileChooserにTransferHandlerを設定してFileをドロップ可能にする [#DropFileOnFileChooser]
#swingdescription(Swing/DropFileOnFileChooser,JFileChooserにTransferHandlerを設定してFileをドロップ可能にする,JFileChooserにTransferHandlerを設定してFileやDirectoryをドロップ可能にします。,https://drive.google.com/thumbnail?id=1NA-vGQgCHGvMjG9nrxYwpTVuYCIgeFFZ)

* ↑30 ↓31 [#df333bea]
#adsensebar

** JTextComponentにファイルとテキストをドロップ可能に設定する [#FileAndTextTransferHandler]
#swingdescription(Swing/FileAndTextTransferHandler,JTextComponentにファイルとテキストをドロップ可能に設定する,JTextComponentにデフォルトの文字列だけでなくファイルもドロップ可能になるようなTransferHandlerを設定します。,https://drive.google.com/thumbnail?id=19UPpYiiOmU-vIAHpCt35QmXdofVKz3nO)

** JListでマウスドラッグとクリップボード経由のアイテム移動が可能かを個別に設定する [#ExportAsDragOrExportToClipboard]
#swingdescription(Swing/ExportAsDragOrExportToClipboard,JListでマウスドラッグとクリップボード経由のアイテム移動が可能かを個別に設定する,TransferHandlerを設定したJListでマウスドラッグ、またはクリップボード経由のアイテム移動を許可するかどうかを切り替えます。,https://drive.google.com/thumbnail?id=1wp4ANGfODIJb47xCpCoT7OSVL7783dR8)