我在 JTable(嵌入在 JPanel + JScrollPane 中)上设置了一个传输处理程序。将表格中的元素拖到其他地方(创建可转移的......)可以工作。将元素拖放到表格中不起作用,任何拖动事件都会被忽略。问题可能是事件消费者(消耗拖动事件),但这是我唯一的想法。
final JTable tbl = new MyJTable();
tbl.setDragEnabled(true);
tbl.setTransferHandler(new TransferHandler() {
@Override
protected Transferable createTransferable(JComponent comp) {
// .... works
}
@Override
public boolean canImport(TransferSupport support) {
// ... never called
}
@Override
public boolean importData(TransferSupport support) {
// ... never called
}