Eclipse 侦听器检测何时打开新视图?
Posted
技术标签:
【中文标题】Eclipse 侦听器检测何时打开新视图?【英文标题】:Eclipse listener to detect whenever a new view has been opened? 【发布时间】:2016-06-23 16:36:59 【问题描述】:我需要编写挂钩到现有插件视图的 Eclipse 插件代码,但我没有该插件的源代码。我需要一种方法来检测这个视图的实例何时启动,这样我就可以在我的记忆中找到它并发挥我的作用。有没有办法连接到 Eclipse 平台并设置某种基于事件的侦听器?我可以设置一个后台线程(从IStartup.earlyStartup()
开始)并以固定的时间间隔轮询视图,但我不想这样做。任何帮助表示赞赏。谢谢!
【问题讨论】:
【参考方案1】:使用IPartListener
IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
IPartService partService = window.getPartService();
partService.addPartListener(listener);
向侦听器告知部件(视图和编辑器)状态的所有更改。
【讨论】:
不确定答案是对还是错。但是问题和答案都很有趣:D 我想到了这一点,并错误地认为getPartService()
会为它单独来自的工作台窗口返回部分服务。我没有意识到它为我提供了整个平台的部分服务。有效!谢谢!我需要实现所有被覆盖的方法,还是只实现我需要的那些?
它是一个接口,所以你必须全部实现它们,但它们实际上不需要做任何事情以上是关于Eclipse 侦听器检测何时打开新视图?的主要内容,如果未能解决你的问题,请参考以下文章