2015-10-07 48 views
1

是否可以取消在@PostConstruct階段創建視圖?我有:如何取消在Eclipse RCP e4中創建視圖?

@PostConstruct 
public void createPartControl(Composite parent) { 
    try { 
     // do something where an exception is thrown 
    } catch (Exception e) { 
     // I want to cancel construction, close the view and show an error dialog 
    } 
} 
+0

而不是試圖取消很多意見只是把錯誤信息放在視圖中而不是普通的內容。 –

回答

0

就關閉視圖,E4風格

MPart part = partService.findPart(viewId); 
part.setVisible(true); 
+0

'setVisible(false)'不會關閉視圖。 'setToBeRendered(false)'銷燬視圖對象,但我不確定在零件構造過程中能否正確運行。 –

+0

謝謝,它的工作原理。但@格雷格-449點是我也想知道的。 setVisibile()真的會破壞整個部分嗎?不幸的是setToBeRendered()不起作用,因爲它使視圖保持打開狀態。 – user2202755

2

您可以立即運行部分業務隱藏的部分後的部分創作已經使用類似成品:

@PostConstruct 
public void postConstruct(Composite parent, UISynchronize uiSync, 
          EPartService partService, MPart part) 
{ 
    // Other code 

    // Run hidePart as soon as possible after part creation has finished 

    uiSync.asyncExec(() -> partService.hidePart(part)); 
} 

(以上是使用Java 8 lambda)。

相關問題