この投稿に基づいて、JTable の行をドラッグ アンド ドロップして並べ替える便利な機能を実装しました。ただし、この機能はテーブル全体に関連付けられています。マウス イベントが他の列に影響を与えないように、1 つの列 (アイコンとして表示) にのみ関連付けたいと考えています。
行全体をドラッグ/並べ替えますが、左端または右端の列に表示されるドラッグ用の「ハンドル」として特殊なアイコンを使用したいと考えています。この概念は以前に (Java ではなく) 見たことがありますが、今は適切な例を見つけることができません。
現在、ドラッグ ハンドラは次のようにインストールされています。
table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
table.setDragEnabled(true);
table.setDropMode(DropMode.INSERT_ROWS);
table.setTransferHandler(new ReorderRowTransferHandler(table));
ドラッグ ハンドラーを 1 つの列のみにアタッチする方法はありますか?
編集:@Kleopatraの答えは良いですが、私の問題の一部は、ドラッグハンドラーのためにボタンなどのコンポーネントが他の列に含まれているため、「押された」状態が表示されなくなったことです。最初の列に影響を与えるようにドラッグ マウス ハンドラを制限する解決策を見つけたいと思っています。