【问题标题】:Eclipse RCP: don't refresh View when it is minimizedEclipse RCP:最小化时不刷新视图
【发布时间】:2013-07-10 13:42:08
【问题描述】:

我们有View that shows file from Internet

public class GfmView extends ViewPart implements GfmListener {

如何知道View什么时候被最小化,所以也许不需要刷新View。

#8 [optimization] Don't update View when it is minimized

Documentation 没有 say 谈论它。

【问题讨论】:

    标签: java eclipse-plugin eclipse-rcp minimize


    【解决方案1】:

    您可以添加一个org.eclipse.ui.IPartListener2 - 实现来跟踪您的视图状态。如果您的视图将被最小化(或关闭或隐藏或...),则调用此侦听器

    PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().addPartListener(<myPartListener>)
    

    【讨论】:

      【解决方案2】:

      @Tom:恐怕事情并不总是那么简单......

      在 Eclipse Juno (4.2) 中,IPartListener2 通知可见隐藏以及激活-停用。

      但这不允许我可靠地确定 ViewPart 何时最小化。

      • 最小化或取消最小化时不触发可见隐藏。它仅用于遮盖/揭开窗户。

      • 当窗口最小化/未最小化时触发激活-去激活。但是,当窗口可见时焦点从窗口更改为/从窗口更改时也会触发它。 (所以实际上这似乎是一个 focusGained-focusLost 通知。)

      特别是当一个最小化的窗口被恢复时(通过按下带有堆叠窗口的图标),根本没有通知,因为视图没有获得焦点。

      底线:对于 IPartListener2,最小化的窗口是可见的。

      问题仍然存在:我如何知道视图何时被最小化?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-12-08
        • 2012-05-15
        • 1970-01-01
        • 1970-01-01
        • 2016-12-28
        • 2019-01-19
        • 1970-01-01
        相关资源
        最近更新 更多