4

JTable+ JScrollPane+を使用してDefaultTableModelいます。

にドラッグ アンド ドロップを実装する必要がありJTableHeaderます。列ヘッダーをコンポーネントにドラッグし、ドラッグした列に応じて何らかの作業を行いたいと考えています。

試してみsetTransferHandler()ましたJTableHeaderが、ドラッグはまだ機能していません。

どこから始めればよいですか?DnD を実装しJTableHeaderて「列の移動」機能を保存することは可能ですか (「すぐに使える」で利用可能JTable)?

4

1 に答える 1

3

解決済み: 質問はクローズされました。を使用してdndを実装しました

DragSource.getDefaultDragSource().createDefaultDragGestureRecognizer(tableHeader, ...)  

言及すべきことの1つは、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 を押しながら列を再配置できるようにします。私には十分です。

于 2012-09-19T08:32:39.437 に答える