2012-09-17 4 views
0

SWT에서 테이블 구성 요소를 사용하고 있습니다. 이 테이블에서 값을 편집하고 Enter를 누르면이 값이이 테이블의 텍스트 구성 요소에 저장됩니다.Tab 키를 누르면 위젯에 포커스가 없습니다.

그러나 두 단어를 탭으로 구분하여 입력하려면 편집기에서 포커스를 잃고 편집 할 다음 셀로 이동하십시오 (예 : 브라우저 형식의 탭 누르기). 나는 이런 일이 일어나기를 바라지 않고, 사용자가 초점을 잃지 않고 단어 사이에 탭을 입력하게한다. 누구나 이것을 만드는 방법을 알고 있습니까?

나는 allready 모든 KeyListener를 사용하여 시도하지만, 탭 이벤트도 당신은 당신에 textField에 TraverseListener를 추가 할 수 있습니다,이 청취자

답변

4

에 의해 처리되지 않는 것 같다.

text.addTraverseListener(new TraverseListener() { 
     public void keyTraversed(TraverseEvent e) { 
      switch (e.detail) { 
       case SWT.TRAVERSE_TAB_NEXT: 
       case SWT.TRAVERSE_TAB_PREVIOUS: { 
        e.doit = false; 
       } 
      } 
     } 
    }); 

this 예제 코드 스 니펫을 확인하십시오.

+2

콘텐츠에 대한 세부 정보없이 링크를 게시해서는 안됩니다. 주소가 도달 할 수 없다면 당신의 대답은 가치가 없습니다 : [다른 곳에 링크가 포함되어있는 답변은 실제로 "좋은 답변"입니까?] (http://meta.stackexchange.com/questions/8231/are-answers-that-just-contain -links-other-really-good-answers) – Baz

+0

알렉스 Stybaev 제안 주셔서 감사하지만 내 테이블, 열, 위젯 TraverseListener 인터페이스 – bvanvelsen

+0

@Baz 구현하지 않는 것, 귀하의 요점에 감사드립니다. 업데이트 된 답변. –

관련 문제