EclipseRCP:如何确定编辑器页面是否放在前面

disbfnqx  于 2021-07-09  发布在  Java
关注(0)|答案(1)|浏览(389)

我有一个 FormEditor 用一个 FormPage 我想在页面放在前面时开始一些操作(这样用户就可以看到它)。
问题是编辑器是在向导中打开的 setActive() 在页面可见之前调用。
我想开始一个新的工作 IRunnableWithProgress 当页面通过 ModalContext.run() 并在另一个线程中创建的页面上显示一些结果。但目前这是在向导仍然可见时完成的。
非常感谢你的帮助,
迈克尔

pftdvrlh

pftdvrlh1#

首先想到的几个选项是重写 setActivePage 或者 pageChangeFormEditor ,或使用 addPageChangedListener . 如果不希望每次页面可见时都运行任务,则可以始终使用某种标志来控制任务。
另一个选项(根据您的问题,听起来您希望在向导完成后运行此任务),您可以使用 Display.getDefault().asyncExec 在向导完成后堆栈展开时启动任务。

相关问题