2015-10-22 21 views
1

我試圖隱藏並顯示處理程序的執行方法中的一部分。 但我似乎無法讓它按照我的意圖工作。 當訪問PartService時,我得到一個 「應用程序沒有活動窗口」異常。在處理程序中隱藏和顯示零件

這裏是我的隱藏部分

@Execute 
@Inject 
public void execute(final EPartService partService) { 
    final MPart part = partService.findPart("mypart"); 
    partService.hidePart(part); 
}        

在此先感謝

+0

你從對話框調用此? –

+0

我打電話給我的處理程序 – todayihateprogramming

+0

是的,但你是如何調用處理程序(從菜單,對話框,快捷鍵,...)?如果你從對話框或類似的東西中調用命令,你會得到這個錯誤。 –

回答

1

不要指定你的方法,你只需要@Execute@Inject代碼。

使用@Inject導致代碼在應用程序窗口存在之前首次創建處理程序時運行。

所以才:

@Execute 
public void execute(final EPartService partService) { 
+0

。這解決了問題。那麼我應該何時添加@Inject。我認爲我需要它在我的方法中注入某些東西。 – todayihateprogramming

+0

'@ Execute'包括做注射。方法中的「@ Inject」僅用於在創建類時注入器查看方法(而不是處理程序的情況)。不要忘記接受這個問題。 –