我想創建一個簡單的Java應用程序來繪製線條。Java簡單線條繪製程序
我的程序就像現在這樣;
用戶可以通過拖動鼠標來繪製所有內容,但當釋放他的手指時,我從屏幕上刪除了所有內容,並繪製了第一個鼠標座標和最後一個鼠標座標的一條線。
但是,因爲每次我清除屏幕,用戶只能畫一條線。 如果我不清潔屏幕,有線條,但也有曲線等,這是用戶拖動鼠標時創建的。
我應該如何找到解決方案?
謝謝。
我想創建一個簡單的Java應用程序來繪製線條。Java簡單線條繪製程序
我的程序就像現在這樣;
用戶可以通過拖動鼠標來繪製所有內容,但當釋放他的手指時,我從屏幕上刪除了所有內容,並繪製了第一個鼠標座標和最後一個鼠標座標的一條線。
但是,因爲每次我清除屏幕,用戶只能畫一條線。 如果我不清潔屏幕,有線條,但也有曲線等,這是用戶拖動鼠標時創建的。
我應該如何找到解決方案?
謝謝。
解決您的問題的一種簡單的方法是在程序中保留保留狀態。每當繪製一條線時,將其存儲在一個點對的ArrayList中。當用戶成功繪製一條線時,將該線的起點和終點存儲到ArrayList中。每次用戶繪製另一條線時,將該對點添加到ArrayList。然後,在繪製「所有線條」時,清除屏幕然後使用一個循環,併爲每個存儲的點對繪製一條線。
程序中的某個地方存在一個類,其生命週期「只要繪圖」,或「只要應用程序運行」。這是保持國家的好地方。
將行的起點和終點存儲在放入可擴展集合(如ArrayList
)中的對象中。在繪製時,繪製列表中的所有行。
Custom Painting Approaches提出了兩種方法。第一個存儲/重繪的行已經在這裏建議。第二種方法是直接繪製到BufferedImage。
+1我忘了'BufferedImage'。 –