• category: swing folder: DnDReorderTable title: TransferHandlerを使ってJTableの行をドラッグ&ドロップ、並べ替え tags: [JTable, TransferHandler, DragAndDrop] author: aterai pubdate: 2009-09-07T15:58:48+09:00 description: JTableの行を複数選択し、ドラッグ&ドロップで並べ替えを可能にするTransferHandlerを作成します。 image: https://lh3.googleusercontent.com/_9Z4BYR88imo/TQTLg-5HyXI/AAAAAAAAAXs/Wda5rMSf-1c/s800/DnDReorderTable.png

概要

JTableの行を複数選択し、ドラッグ&ドロップで並べ替えを可能にするTransferHandlerを作成します。

サンプルコード

JTable table = new JTable(model);
table.getSelectionModel().setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
table.setTransferHandler(new TableRowTransferHandler());
table.setDropMode(DropMode.INSERT_ROWS);
table.setDragEnabled(true);
View in GitHub: Java, Kotlin

解説

上記のサンプルのTransferHandler(JDK 6で導入されたTransferHandler#canImportメソッドなどを使用)は、TransferHandlerを使ったJListのドラッグ&ドロップによる並べ替えのものとほぼ同じです。 JTableの行をドラッグ&ドロップとは異なり、複数行を選択してDrag&Dropによる移動が可能になっています。

参考リンク

コメント