Export Methods
我们将研究的第一组方法用于从组件中导出数据。当相关组件是操作的源时,将为拖动手势或剪切/复制动作调用这些方法。 TransferHandler
导出数据的方法是:
-
getSourceActions(JComponent) —此方法用于查询源组件支持哪些动作,例如
COPY
,MOVE
或LINK
的任意组合。例如,Client 列表可能不支持将 Client 名称移出列表,但很可能支持复制 Client 名称。我们的大多数示例都支持COPY
和MOVE
。 -
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
方法。