Export Methods

我们将研究的第一组方法用于从组件中导出数据。当相关组件是操作的源时,将为拖动手势或剪切/复制动作调用这些方法。 TransferHandler导出数据的方法是:

  • getSourceActions(JComponent) —此方法用于查询源组件支持哪些动作,例如COPYMOVELINK的任意组合。例如,Client 列表可能不支持将 Client 名称移出列表,但很可能支持复制 Client 名称。我们的大多数示例都支持COPYMOVE

  • createTransferable(JComponent)-此方法将要导出的数据 Binding 到Transferable对象中,为传输做准备。

  • exportDone(JComponent,Transferable,int) —导出完成后将调用此方法。当操作为MOVE时,传输完成后需要从源中删除数据-此方法是进行任何必要的清理的地方。

samples 导出方法

以下是导出方法的一些示例实现:

int getSourceActions(JComponent c) {
    return COPY_OR_MOVE;
}

Transferable createTransferable(JComponent c) {
    return new StringSelection(c.getSelection());
}

void exportDone(JComponent c, Transferable t, int action) {
    if (action == MOVE) {
        c.removeSelection();
    }
}

接下来,我们将研究数据导入所需的TransferHandler方法。