基于这篇文章,我实现了一个方便的功能,可以在 JTable 中拖放行以重新排序。但是,该功能附加到整个表格,我只想将其附加到一列(显示为图标),以便鼠标事件不会在其他列中受到影响。
整行将被拖动/重新排序,但是我想使用一个专门的图标作为拖动的“手柄”,它会出现在最左边或最右边的列中。我以前见过这个概念(不是在 java 中),但现在找不到合适的例子。
目前,拖动处理程序的安装方式如下:
table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
table.setDragEnabled(true);
table.setDropMode(DropMode.INSERT_ROWS);
table.setTransferHandler(new ReorderRowTransferHandler(table));
有没有办法将拖动处理程序仅附加到单个列?
编辑:@Kleopatra 的回答很好,但是我的部分问题是我的其他列包含组件,例如由于拖动处理程序而不再显示其“按下”状态的按钮。我希望找到一个限制拖动鼠标处理程序的解决方案,以便它影响第一列。