可以禁用拖放 jtable 列的单元格,特别是复选框列

问题描述 投票:0回答:1

我只能禁用整个表格的拖放,但我需要能够对特定列的单元格执行此操作,我不知道是否可行。

谢谢你的回答。

java swing jtable drag jcheckbox
1个回答
0
投票

当对象被放置在 JTable 上时,您可以检查放置位置并决定是否接受操作。

例如,只接受第一列的掉落:

JTable table = new JTable();
table.setTransferHandler(new TransferHandler() {
    @Override
    public boolean canImport(TransferSupport support) {
        if (support.isDrop()) {
            JTable.DropLocation dropLocation = (JTable.DropLocation) support.getDropLocation();
            if (dropLocation.getColumn() != 0) {
                return false;
            }
        }

        return super.canImport(support);
    }

    @Override
    public boolean importData(TransferSupport support) {
        if (support.isDrop() && canImport(support)) {
            // handle the dropped object
            ...
            return true;
        }

        return super.importData(support);
    }
});
© www.soinside.com 2019 - 2024. All rights reserved.