OK、この問題は私のリーグ外です。私はファイルをJTableにドロップすることができるスイングでGUIウィジェットを実装しようとしており、JTableの行を再ソートのためにドラッグできるようにしています。 VLCのプレイリストやiTunesのものを考えてみてください。JTable - ドラッグ&ドロップ
OS(Explorer、Finderなど)からファイルを削除しても問題ありませんが、ファイルが入っていればテーブルの行を並べ替えるのは不可能ですカスタムのTransferHandlerをテーブルに追加すると、をからドラッグすると、テーブルが即座に削除されます。そのまま、あなたは、あなたが作品をドラッグし、テーブルの上にsetTransferHandler()の呼び出しをコメントアウトtable.Ifのドラッグを開始することはできませんことがわかります
import javax.swing.*;
public class TableTest
{
public static void main (String [] argv)
{
// setup table data
String [] columns = new String [] {"Foo", "Bar", "Baz", "Quux"};
String [][] data = new String [][] {{"A", "B", "C", "D"},
{"1", "2", "3", "4"},
{"i", "ii", "iii", "iv"}};
// create table
JTable table = new JTable(data, columns);
// set up drag and drop
table.setDragEnabled(true);
table.setDropMode(DropMode.INSERT_ROWS);
table.setFillsViewportHeight(true);
TransferHandler dnd = new TransferHandler() {
// here be code to handle drops, and one would
// presume drag exporting, too
};
table.setTransferHandler(dnd);
JScrollPane scroll = new JScrollPane(table);
// create and show window
JFrame window = new JFrame();
window.getContentPane().add(scroll);
window.pack();
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.setVisible(true);
}
}
を実行し、このコード:ここではいくつかのサンプルコードです(つまり、テーブルの行をドラッグし始めると、そこにドロップできないというX'dの円カーソルが表示されます)。しかし、TransferHandlerがテーブルに設定されるとすぐに、私は行をドラッグできません。問題はTransferHandler内にある必要がありますが、私は徹底的にトラブルシューティングとデバッグを行い、テーブルにTransferHandlerがあるとドラッグが開始されないと判断しました。私は間違って何をしていますか?
私は同じ問題を抱えています。私はどこからでもドラッグすることをサポートするテーブルを持っていました。 – willcodejavaforfood