JTable 用にカスタマイズされたドラッグ アンド ドロップ動作を記述しようとしていますが、MOUSE_DRAGGED
イベントを受け取ることができません。問題は、ネイティブの DnD 操作がイベントを消費することだと思います (mouseDragged
の javadoc:で説明さ"Due to platform-dependent Drag&Drop implementations, MOUSE_DRAGGED events may not be delivered during a native Drag&Drop operation. "
れているように) が、それを無効にするか、回避する方法を探しています。
これは、問題を示す SSCCE です。
public class DragAndDrop {
@SuppressWarnings("serial")
public static void main(String[] args) {
JFrame f = new JFrame();
f.getContentPane().add(
new JTable(
new Object[][] {{1,2,3},{4,5,6}},
new Object[] {"one", "two", "three"})
{{
addMouseListener(new MouseAdapter() {
@Override
public void mouseDragged(MouseEvent e) {
System.out.println("mouseDragged");
}
@Override
public void mousePressed(MouseEvent e) {
System.out.println("mousePressed");
}
@Override
public void mouseReleased(MouseEvent e) {
System.out.println("mouseReleased");
}
});
}}
);
f.setVisible(true);
}
}