2012-04-11 3 views
2

사용자가 마우스 오른쪽 버튼을 클릭 할 때 컨텍스트 메뉴가 자동으로 표시되도록 Eclipse 컨텍스트 메뉴가 등록 된 Eclipse RCP 애플리케이션이 있습니다. 정의 된보기의 특수 캔버스에서컨텍스트 메뉴의 핸들러에서 캔버스의 클릭 위치 가져 오기

일부 핸들러에서는 컨텍스트 메뉴가 표시되었을 때 사용자가 캔버스를 클릭 한 곳에서 마우스 좌표를 가져올 수 있기를 원합니다. 이러한 핸들러는이 컨텍스트 메뉴에 정의 된 명령에 의해 실행됩니다.

핸들러의 execute-method에서 ExecutionEvent는이 정보를 제공하지 않습니다.

컨텍스트 메뉴를 열려면 사용자가 클릭 한 커서 위치를 어떻게 얻습니까?

답변

1

마우스 이벤트를 통해 상황에 맞는 메뉴가 열리면 ExecutionEvent.getTrigger()은 올바른 좌표를 포함하는 SWT MouseDown 이벤트가됩니다.

+1

이 질문이 2 세인 경우에도 질문을 한 사용자와 똑같은 문제가 있습니다. 나는 당신의 솔루션에 대한 어떤 위치 관련 정보도 얻지 못한다. 누군가가 나를 도울 수 있기를 바랍니다. 나는 여러 해 동안 해결책을 찾고 있었다. – Ubuntix

+0

'getTrigger()'를 통해 얻는 것은 무엇입니까? –

+1

실제 좌표가 없습니다. Context menu를 여는 위치에 관계없이 Event {type = 13 MenuItem {Copy \t Ctrl + C} time = 3695913 data = null x = 0 y = 0 width = 0 height = 0 detail = 0} – Ubuntix