Для моей пользовательской вставки я не использую Вставить из затмения, я создал новое контекстное меню Вставить объекты, добавив новую команду.
Я добавил обработчик: PasteObjectsHandler для команды, которая расширяет AbstractHandler.
Команда
<command
categoryId="org.eclipse.ui.category.edit"
description="%pasteobjectscommand.description_xmsg"
id="com.test.pasteobjectscommand"
name="%pasteobjectscommand.name_xtit">
</command>
Обработчик
<handler
class="com.test.PasteObjectsHandler"
commandId=" com.test.pasteobjectscommand ">
</handler>
открытый класс PasteObjectsHandler расширяет AbstractHandler {
@Override
public Object execute(ExecutionEvent event) {
Clipboard clipBoard = new Clipboard(Display.getDefault());
LocalTransfer instance = LocalTransfer.getInstance();
IResource clipboardData = (IResource) clipBoard.getContents(instance);
}
}
И в обработчике я пытаюсь получить доступ к буферу обмена в методе execute. И здесь я получаю ноль.