1. 首先获得焦点是重载(@Override)setFocus方法。
2。失去焦点:
createPartControl() 方法中加入:
getSite().getWorkbenchWindow().getPartService().addPartListener(
new IPartListener() {
public void partOpened(IWorkbenchPart part) {
}
public void partClosed(IWorkbenchPart part) {
trackOpenChatEditors(part);
}
private void trackOpenChatEditors(IWorkbenchPart part) {
}
@Override
public void partActivated(IWorkbenchPart part) {
}
@Override
public void partBroughtToTop(IWorkbenchPart part) {
// TODO Auto-generated method stub
}
@Override
public void partDeactivated(IWorkbenchPart part) {
if(part.equals(TaskView.this)){ //此处的判断作用在于只指定当失去焦点的viewpart为指定的view时才执行,否则
//所有的viewpart在失去焦点的时候都会出发该事件。
//TODO 需要在part失去焦点时执行的操作
}
}
}
);