2010-07-06 4 views
1

Eclipse RCP 앱에서 작업하고 있는데, 실제로 뷰 내의 임베디드 에디터 (실제로는 멋진 텍스트 필드)에서 포커스를 훔쳐 가고 싶습니다. 동일한보기 도구 모음에서 작업을 시작합니다. 이 작업은 명령과 함께 작동합니다. 이 편집기/텍스트 필드는보기 자체가 포커스를 잃을 때 자동으로 포커스를 잃습니다. 그렇다면 초점에서 훔쳐내는 방법은 무엇입니까?이클립스 RCP 앱의 뷰에서 포커스를 훔치기

답변

0

이것이 당신이 찾고있는 것인지 확실하지 않지만 편집기를 닫거나 응용 프로그램을 종료하여 사용자의 미결 UI 필드 편집을 강제 종료 할 때 유효성 검사와 더티 상태가 확인되기 전에 모델 업데이트가 발생합니다 (따라서 사용자의 미결 편집 내용을 자동으로 "잃어 버리지"않습니다).

final IWorkbench workbench = PlatformUI.getWorkbench(); 
    if (workbench == null) 
     return; 

    final Display display = workbench.getDisplay(); 
    if (display == null) 
     return; 

    final Control focusControl = display.getFocusControl(); 
    if (focusControl == null) 
     return; 

    focusControl.notifyListeners(SWT.FocusOut, null); 

이것이 "최선"또는 "적절한"방법인지는 모르겠지만 적어도 3.2에서 작동합니다.

관련 문제