Composite
개체에 일부 개체를 추가하고 싶습니다. .컴포지트 내에서 선택적 메뉴 감지
public class Circle extends Canvas {
}
public class Rectangle extends Canvas {
}
...
는 내가 원하는 모양을 얻을 수있는 Canvas
에 그리는 방법을 알고 : 객체가 다른 모양을 가질 수있다 (사각형, 원, 타원 또는 다각형으로 표시도 이상한 모양() 그래서 같은 클래스를 정의 그러나 나는 또한 사용자가 캔버스 영역 내에서 마우스를 클릭하는 경우에만 팝업 메뉴는 각 캔버스에 나타납니다 것으로 예상, 그래서 복합 클래스에서이 코드를 사용하는 경우 :
Menu aSampleMenu = new Menu(this);
Circle circle = new Circle(parent, style);
circle.setMenu(aSampleMenu);
메뉴는 사용자 클릭이 경우에 나타납니다 모양 영역 밖에서도 캔버스 내부의 아무 곳에서나 마우스 오른쪽 버튼을 누릅니다.이 문제를 해결하려면 어떻게합니까?
당신은 어떤 다른 가능성을 보았는가? ady가이 문제를 해결합니까? draw2d 또는 GEF와 같은 써드 파티 API를 사용하는 것과 마찬가지로, 이러한 간단한 작업을 훨씬 쉽게 할 수 있습니다. –
나는 대안을 제안하려고 시도했다. [여기] (http://stackoverflow.com/a/13976303/1449199). GEF는 너무 무거울 수도 있습니다. – Baz