2014-11-03 59 views
0

我想要一個布爾變量,如果視圖已經在RCP GUI中激活,則爲true,否則爲false。Eclipse RCP:檢查View是否有效的布爾變量

我嘗試下面的代碼:

 IViewPart view = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().findView("view.id"); 

     if (view != null){ 
      System.out.println("View Active"); 
     } 

但它返回,即使尚未在GUI激活的視圖。

回答

2

findView應該返回null。如果通過「主動」,您的意思是當前顯示爲前/可見,請嘗試使用IWorkbenchPage.isPartVisible

1

嘗試找到一個視圖的參考,但不嘗試恢復來看,是這樣的:如果視圖尚未在所有創建

IViewReference viewReference = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().findViewReference("view.id"); 

if (viewReference.getView(false) != null) { 
    System.out.println("View Active"); 
}