0
有沒有一種方法可以禁用主窗口的RCP e4應用程序關閉按鈕。我試圖得到活動外殼,並添加event.doit = false。但那不起作用。應用程序關閉,即使我點擊是或否。禁用主窗口的RCP e4應用程序關閉按鈕的代碼
有沒有一種方法可以禁用主窗口的RCP e4應用程序關閉按鈕。我試圖得到活動外殼,並添加event.doit = false。但那不起作用。應用程序關閉,即使我點擊是或否。禁用主窗口的RCP e4應用程序關閉按鈕的代碼
首先創建您的處理程序:
public class WindowCloseHandler implements IWindowCloseHandler{
@Override
public boolean close(MWindow window) {
// System.out.println("in window close handler");
Object shell = window.getWidget();
return MessageDialog.openConfirm((Shell) shell, "Confirmation",
"Do you want to exit?");
}
}
二把處理窗口(S)方面:我這樣做是在應用程序的任何部分職位構造方法: 公共類SamplePart {
...
@PostConstruct 公共無效createComposite(複合父, MApplication應用, EModelService服務 ){
... setup the part ...
WindowCloseHandler close_handler = new WindowCloseHandler();
java.util.List<MTrimmedWindow> wins =
service.findElements(app, null, null, null);
for(Object win : wins){
if(win instanceof MTrimmedWindow)
((MTrimmedWindow)win).getContext().set(IWindowCloseHandler.class, close_handler);
else if(win instanceof MWindow) ((MWindow)win).getContext().set(IWindowCloseHandler.class, close_handler);
}
}
它使用一個IWindowCloseHandler對象。必須創建一個實例並將其更新到上下文。通過這個,我們可以至少處理關閉事件 –