概要

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 all

解説

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

参考リンク

コメント

  • このサンプルでは、ソートされた状態での並べ替えは想定していない。 -- aterai