2012-04-06 50 views
2

我正在嘗試在JApplet上繪製交互式平面直線圖(PSLG)。我正在使用鼠標單擊來確定PSLG的頂點。擺動中的交互式平面直線圖

以下是我繪製PSLG邊緣的算法1.用戶執行鼠標單擊的點被添加爲PSLG的頂點。 2.如果他點擊的第二點,直接點之間創建的邊緣和預先點擊點

下面是其中我觀察由於使用這種算法的某些缺陷:

  1. 無能創建不相交的平面集合,比如說只是一條線段
  2. 僅當用戶點擊開始點的確切位置時才創建封閉多邊形[基本上,如果用戶點擊非常接近起點,則存在沒有辦法說明這一點實際上是起點,因爲它出現在一定的容差範圍內]。

我已經簽出在這裏了一些類似的問題,並建議人們使用的JFreeChart庫。但據我所知,這些問題的情況是,PSLG的要點已經知道了。我不知道是否的JFreeChart可用於創建交互式PSLG的

我想到了添加點和有一個按鈕,會說點之間加邊,但如果這是選擇2點仍然涉及到接近的情況下遇到的問題2.

我想知道是否有人可以建議我一個更好的方法來處理這種情況。

在此先感謝

+0

我不確定我是否理解您的問題#1,但對於#2,您可以彈出右鍵單擊菜單,以便用戶根據需要關閉多邊形。 – 2012-04-06 16:02:58

回答

4

GraphPanel能夠適應這個任務,儘管它可能從一個更先進的edge model受益於更快的搜索。另請考慮JGraph

+0

參見'JHotDraw',引用[here](http://stackoverflow.com/q/13312223/230513)。 – trashgod 2012-12-02 16:42:19