gpt4 book ai didi

java - 不接受来自外部资源管理器的 Eclipse RCP 放置文件

转载 作者:行者123 更新时间:2023-11-30 11:45:52 25 4
gpt4 key购买 nike

我有一个 Eclipse RCP 应用程序,它应该通过从 Windows 资源管理器拖放来打开文件。所以我实现了这个:

public class ApplicationWorkbenchAdvisor extends WorkbenchAdvisor {

@Override
public WorkbenchWindowAdvisor createWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
configurer.addEditorAreaTransfer(FileTransfer.getInstance());
configurer.configureEditorAreaDropListener(editorDropListener);
return new ApplicationWorkbenchWindowAdvisor(configurer);
}
[...]
}

editorDropListener 属于 DropTargetAdapter 类型并实现了 drop() 方法。

现在,如果我将文件从我的资源管理器拖到我的应用程序中,我会看到“Windows 不可用”鼠标图标,并且拖放操作不起作用。未调用 editorDropListener.drop()

如果我在按下 CTRLALT 键的情况下拖动文件,我会看到“windows 复制”鼠标图标。 drop 有效,editorDropListener.drop() 被成功调用。

我在哪里可以配置,允许哪种丢弃?

最佳答案

看来这个问题还没有从上面解决。我只是查看了 DND 的 api 并解决了这个问题,消除了 Ctrl 或 Alt 按下。 Drag and Drop我们只需要在您的 EditorAreaDropAdapter 中添加一些代码:

        @Override
public void dragEnter(DropTargetEvent event) {
// TODO Auto-generated method stub
event.detail = DND.DROP_COPY;
super.dragEnter(event);
}

event.detail 必须设置为 DND.DROP_COPY 才能接受。

关于java - 不接受来自外部资源管理器的 Eclipse RCP 放置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10138834/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com