[問題] 繪圖的兩個問題
有兩個和paint()有關的小問題
1 沒有用物件存畫面上的圖形的話,要如何從最小化視窗還原後還留有之前的畫面?
每一次paint()能保留之前畫的東西,但是縮小再還原後整個畫面會清空
我是用override update()的方式讓每次畫畫時都不會清空畫布,只有加新的圖畫
public void update(Graphics g) {
paint(g);
}
執行順序是repaint() > update() > paint() > 畫出東西
目前問題是還原視窗後,程式會自動call paint()而不是update() ,所以畫布被清空
2. http://imgur.com/Jsjkx
我是用fillOval當作畫筆的功能,抓取滑鼠的位置
問題是只要畫太快就會有間隙,請問有什麼辦法可以解決?
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.134.48.111
→
06/20 01:14, , 1F
06/20 01:14, 1F
→
06/20 01:16, , 2F
06/20 01:16, 2F
→
06/20 01:20, , 3F
06/20 01:20, 3F
→
06/20 01:21, , 4F
06/20 01:21, 4F
→
06/20 01:25, , 5F
06/20 01:25, 5F
推
06/20 06:34, , 6F
06/20 06:34, 6F
我發現視窗最小化再還原後,程式會自動call paint()一次
所以有沒有repaint()其實沒有影響
我的"畫筆"功能是直接抓取滑鼠位置然後用fillOval畫出,沒有用物件的型式將
"畫"給存起來,所以程式自動call paint()時就無法畫出原圖了
另外就是我希望能調整畫筆的粗細,所以用drawLine無法調整粗細,還是您指的
「用直線連起來」是指另一種方法? 謝謝
※ 編輯: fenir 來自: 220.134.48.111 (06/20 11:33)
→
06/20 11:43, , 7F
06/20 11:43, 7F
→
06/20 12:02, , 8F
06/20 12:02, 8F
討論串 (同標題文章)