Java 拖放不使用Ctrl+;A.

Java 拖放不使用Ctrl+;A.,java,eclipse,drag-and-drop,rcp,Java,Eclipse,Drag And Drop,Rcp,我有一个简单的RCP应用程序,其中有一些节点和它们之间的连接。现在我想用快捷键Ctrl+a来选择所有的图标,它似乎可以工作,但是我不能拖放它们。当我用shift+LMB手动选择它们时,它的行为应该是正常的。可能是什么问题?我如何解决?还有一个问题。当我手动选择节点并单击其他位置时,它们将取消选择,但当我使用Ctrl+A选择节点时,情况并非如此。非常感谢您的帮助 IEditorPart editor = PlatformUI.getWorkbench() .getA

我有一个简单的RCP应用程序,其中有一些节点和它们之间的连接。现在我想用快捷键Ctrl+a来选择所有的图标,它似乎可以工作,但是我不能拖放它们。当我用shift+LMB手动选择它们时,它的行为应该是正常的。可能是什么问题?我如何解决?还有一个问题。当我手动选择节点并单击其他位置时,它们将取消选择,但当我使用Ctrl+A选择节点时,情况并非如此。非常感谢您的帮助

    IEditorPart editor = PlatformUI.getWorkbench()
            .getActiveWorkbenchWindow().getActivePage().getActiveEditor();

        Class multiPageEditorClass;
        try {
            multiPageEditorClass = editor
                    .getClass()
                    .getClassLoader()
                    .loadClass(
                            "org.jboss.tools.flow.jpdl4.multipage.editors.MultiPageEditor");

            if (multiPageEditorClass.isInstance(editor)) {
                Method getActiveInneEditorMethod = multiPageEditorClass
                        .getMethod("getActiveInnerEditor", new Class[0]);
                Object innerEditor = getActiveInneEditorMethod.invoke(
                        multiPageEditorClass.cast(editor));
                if (innerEditor instanceof JpdlEditor) {
                    EditPart contents = ((JpdlEditor) innerEditor).getGraphicalViewer().getContents();
                    List<EditPart> list = contents.getChildren();
                    for (EditPart editPart : list) {
                        editPart.setSelected(1);
                    }
                }
IEditorPart编辑器=PlatformUI.getWorkbench()
.getActiveWorkbenchWindow().getActivePage().getActiveEditor();
类multigeeditorclass;
试一试{
multigeeditorclass=编辑器
.getClass()
.getClassLoader()
.loadClass(
“org.jboss.tools.flow.jpdl4.multipage.editors.multigeeditor”);
if(multiPageEditorClass.isInstance(编辑器)){
方法getActiveInneEditorMethod=multiPageEditorClass
.getMethod(“getActiveInnerEditor”,新类[0]);
对象innerEditor=getActiveInneEditorMethod.invoke(
multigeeditorclass.cast(编辑器));
if(JpdlEditor的innerEditor实例){
EditPart内容=((JpdlEditor)innerEditor.getGraphicalViewer().getContents();
List=contents.getChildren();
用于(编辑部分:列表){
编辑部分第1部分;
}
}