编程语言
首页 > 编程语言> > java – Drag-n-Drop JTableHeader

java – Drag-n-Drop JTableHeader

作者:互联网

我正在使用JTable JScrollPane DefaultTableModel.

我需要在JTableHeader上实现Drag-n-Drop.我想将列标题拖动到我的组件并根据拖动的列执行一些操作.

我在我的JTableHeader上尝试了setTransferHandler(),但拖动仍然无法正常工作.

我在哪里可以开始?是否可以在JTableHeader上实现DnD并保存“移动列”功能(在JTable中可用的“开箱即用”)?

解决方法:

已解决:问题已结束.我已经实现了dnd使用

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-pressed重新排列列.这对我来说已经足够了.

标签:java,swing,drag-and-drop,jtable,jtableheader
来源: https://codeday.me/bug/20190630/1331615.html