Re: [問題] 用JPanel做小畫家

看板java作者 (心夜)時間19年前 (2006/10/28 03:00), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串5/5 (看更多)
※ 引述《selection (ppp)》之銘言: : 因為 Jpanel 在畫圖上怪怪的 : 每次新畫都會把板面清空 : 如果不用super.paintComponent(g) 雖然不會清空 但其他gui元件又會顯示的怪怪的 : 如果 當畫一個新的圖案上去 就把所有的圖全部從畫一次 : 在使用mouse 的dragged 拖拉圖案的時後 畫面reflesh的很嚴重 很難看 : 沒有辨法 2全其美嗎 >< 我的做法是用iterator 你參考一下iterator和arraylist的方法 好像就會自已做到double buffer的功能 應該說 jpanel好像本來就有提供doublebuffered 大意上是這樣 先宣告一個list 在class下 需import java.util List photo = new ArrayList(1000); 在你的class的paintComponent(Graphics g)方法下 使用 photo.add(圖形元件 類似 new Oval(,,,,)); for(Iterator it=photo.iterator();it.hasNext();){ 大概是使用it.next(); g.drawOval(,,,,); 之類的.... 打的不太清楚有點亂 } 不過使用這方法 的確不會有reflesh的感覺 應該是自已提供doublebuffer了 其實這點我也不是很懂就是 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.122.209.46
文章代碼(AID): #15GbTUIU (java)
文章代碼(AID): #15GbTUIU (java)