2011-10-08 82 views
2

我正在寫一個曲折的抽屜作爲我的學校作業。基本上可以預期的是能夠在畫布上繪製曲折,能夠移動曲折的頂點並且能夠移動整個之字形。我們也可以改變曲折的顏色和厚度。Java swing可編輯線條繪圖

我可以設法繪製之字形,左鍵單擊開始,隨後的左鍵單擊繼續曲折,右鍵單擊完成。用這種方法我可以畫出幾個之字形。 我不能做的是如何使曲折的頂點可移動?我將點座標保存在由x,y和深度值組成的mypoint類型的數組列表中。我正在繪製所有的繪畫,這是一個擴展的JPanel類。在paintcomponent方法中,我爲列表中的每個頂點調用drawline方法。由於這些只是繪畫,我無法弄清楚我將如何檢測用戶點擊頂點。點擊時,我可以使用像控制器那樣的小按鈕來完成我想要的工作。我試圖使用標籤和標準按鈕,但我也不能適當地定位它們,也不能太大以至於不能用於頂點的處理程序。

你對這些有什麼建議嗎?

回答

2

您可以有兩種操作模式,必須由用戶選擇一個單選按鈕來選擇,例如:一個用於繪製鋸齒形曲線,另一個用於選擇頂點。

雖然選擇的模式是「之字形」,但鼠標點擊允許您已經實施的繪製曲折形狀。當選擇的模式是「頂點選擇」時,然後通過鼠標點擊可以找到與點擊點的距離小於3個像素的頂點,並且鼠標的拖動可以按照鼠標指針從原始位置移動頂點。

您可以通過在頂點周圍顯示一個小的尖角來通知用戶有關所選頂點。