2012-04-06 3 views
2

JApplet에 대화식 평면 직선 그래프 (PSLG)를 그리려합니다. 마우스 클릭을 사용하여 PSLG의 정점을 결정합니다.대화 형 평면 직선 그래프 (swing)

다음은 PSLG의 가장자리를 그리기위한 알고리즘입니다.1. 사용자가 마우스 클릭을 수행하는 지점이 PSLG의 꼭지점으로 추가됩니다. 그 두 번째 지점을 클릭하면 2. 에지 직접 포인트간에 생성되고 이전 클릭 포인트 여기

는 I 인해 이러한 알고리즘의 사용으로 관찰 특정 결함 같습니다

  1. 무능력
  2. 닫힌 다각형은 시작점이있는 정확한 위치에서 사용자가 클릭 할 경우에만 생성됩니다. [기본적으로 사용자가 시작점에 매우 가깝게 클릭하면 이 지점은 지점에서 특정 허용 오차 범위 내에 나타나기 때문에 실제로 시작 지점이라고 말할 수있는 방법이 없습니다.

나는 여기에 몇 가지 비슷한 질문을 체크 아웃 한 사람들은 JFreeChart를 라이브러리를 사용하는 것이 좋습니다. 그러나 내가 얻은 한, PSLG의 요점은 이미 알려졌다. 나는 JFreeChart를을 만드는 데 사용할 수 있는지 여부를 알 수없는 대화 PSLG의

나는 점을 추가하고 점 사이에 모서리를 추가 말할 것 단추를하는 것에 대한 생각,하지만 여전히 근접을 포함 할 2 점을 선택하는 경우라면 문제가 발생했습니다.

아무도 나에게이 상황을 처리하는 방법에 대한 더 나은 방법을 제안 할 수 있는지 궁금합니다. 더 빨리 검색하기위한 고급 edge model 혜택을 누릴 수 있지만 사전

+0

문제 # 1을 이해할 수 있는지 잘 모르겠지만 # 2에서는 마우스 오른쪽 버튼으로 팝업 메뉴를 열어 원하는 경우 다각형을 닫을 수 있습니다. –

답변

4

GraphPanel에서

덕분에,이 작업에 적용 할 수있다. JGraph도 고려하십시오.

+0

'JHotDraw', [here] (http://stackoverflow.com/q/13312223/230513)를 참고하십시오. – trashgod