2011-09-27 5 views
1

복합 전체 키보드 단축키가 필요합니다. 문제의 복합 소재는 탭 폴더에 있습니다. 나는 약간의 함수를 가지고 있는데,이 함수는 내 복합체의 모든 자식을 가로 지르고 모든 객체에 KeyboardAdapter를 추가합니다.컴포지트에 SWT : addFilter 또는 addKeyListener

내가 가지고있는 문제는 내가 탭을 열었을 때 키가 등록되지 않았다는 것입니다. 먼저 탭에서 선택 가능한 위젯에 초점을 맞추고 작동합니다. 다른 탭으로 전환했다가 다시 돌아 왔을 때 초점은 여전히 ​​종류 (예 : 테이블의 파란색 대신 회색 선택)이지만, 어딘가를 클릭하기 전까지는 다시 작동하지 않습니다.

어떻게하면됩니까? 내 디스플레이에 필터를 추가하는 방법에 대해 생각했지만 특정 컴포지트의 이벤트 만 필요합니다.

고맙습니다.

+1

코드를 게시 할 수 있습니까? 그것은 절대적으로 명확하지 않습니다. 정확히 무엇을 의미합니까? – Sorceror

답변

3

키 이벤트는 키보드 포커스가있는 구성 요소로 전달됩니다. 복합체는 키보드 포커스를 얻지 못하며 일반적으로 자식 구성 요소 중 하나를 가져 와서 키 이벤트를 받기 시작합니다 (자식에 의해 사용되지 않는 경우). 상위 셸에 키 수신기가있을 가능성이 있습니다.

+0

어떤 로직을 가지고있는 KeyFilter를 사용하여 어떤 위젯이 이벤트를 가져와이 위젯의 ​​컨트롤러 (클래스 i가 빌드되었는지)를 라우트해야 하는지를 확인했습니다. –

관련 문제