Java 拖放JTableHeader

Java 拖放JTableHeader,java,swing,jtable,drag-and-drop,jtableheader,Java,Swing,Jtable,Drag And Drop,Jtableheader,我使用的是JTable+JScrollPane+DefaultTableModel 我需要在JTableHeader上实现拖放。我想将列标题拖到我的组件中,并根据拖到的列执行一些工作 我已经在我的JTableHeader上尝试了setTransferHandler(),但拖动仍然不起作用 我从哪里开始?是否可以在JTableHeader上执行DnD并保存“移动列”功能(在JTable中提供“开箱即用”功能?已解决:问题已结束。我已经使用 DragSource.getDefaultDragSour

我使用的是
JTable
+
JScrollPane
+
DefaultTableModel

我需要在
JTableHeader
上实现拖放。我想将列标题拖到我的组件中,并根据拖到的列执行一些工作

我已经在我的
JTableHeader上尝试了
setTransferHandler()
,但拖动仍然不起作用


我从哪里开始?是否可以在
JTableHeader
上执行DnD并保存“移动列”功能(在
JTable
中提供“开箱即用”功能?

已解决:问题已结束。我已经使用

DragSource.getDefaultDragSource().createDefaultDragGestureRecognizer(tableHeader, ...)  
值得一提的是:dnd打破了默认的“重新排列列”行为。我的变通方法是

    public void dragGestureRecognized(DragGestureEvent dge) {
        if (dge.getDragAction() == DnDConstants.ACTION_COPY)
            return;
        try {
            dge.startDrag(null, new MyTransferable());
        } catch (InvalidDnDOperationException e2) {
            System.out.println(e2);
        }
    }

这样我可以在按住ctrl键的情况下重新排列列。这对我来说已经足够了。

指定“不工作”:您不能启动拖动(甚至不能移动列),您可以移动列但不能在组件上拖放,您可以拖放但拖放没有达到预期效果,…我可以重新排列列,但无法启动拖动(光标不改变,我的组件的删除方法不会对鼠标按钮释放),你可以考虑把你的更新作为你的问题的答案(并且接受它),更容易为未来的用户找到“解决”的信号:-谢谢。可惜我只能在两天后接受我自己的答案。我稍后再查。