Re: [問題] 有關用SetXORmode且doublebuffer開了螢 …

看板java作者 (Always Coca Cola)時間19年前 (2006/06/14 08:42), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/3 (看更多)
是的 我將哪行移除 並且把他擺到主class的ctor裡面 可是結果還是一樣 畫圖的時候 會不經意地閃爍 而且如果不開doublebuffer 看起來也沒什麼差 不知道是不是我設定的方法錯誤... 請指教 ※ 引述《Gentoo.bbs@ofo.csie.ntu.edu.tw (賤兔..><")》之銘言: : ※ 引述《QQ29.bbs@ptt.cc (Mr.Q)》之銘言: : : 請問板上各位大大 : : 我寫一個小畫家程式 : : 使用這種寫法 : : 發現螢幕閃爍問題 把doublebuffer打開也是一樣閃 : : 請問是什麼原因呢?? : : 我設定的是 當成畫布的JPanel , 請問識不是還有別的地方也要設定doublebuffer : : 還是說本來就會閃爍呢 ? 謝謝 : : 請各位給我一點提示吧^^ : : 以下是程式片斷 : : //drag事件內容/// : : public void mouseDragged(MouseEvent e) //drag發生則click必不發生. : : { : : Graphics2D gg=(Graphics2D)graphpanel.getGraphics(); : : graphpanel.setDoubleBuffered(true); //doublebuffer開啟 為繼承JPanel的class(為了方便大家檢視,所以在這邊刻意call緩衝設定) : graphpanel.setDoubleBuffer(true); : 只要在產生出 graphpanel 物件後設定一次就可以了吧... : : gg.setXORMode(Color.white); //設定XORMode : : gg.setColor(colr); : : gg.setStroke(mypen); : : if (line.isSelected()) : : { : : gg.draw( new Line2D.Double(Origin.x,Origin.y,End.x,End.y)); : : End.setLocation(e.getX(),e.getY()); : : gg.draw( new Line2D.Double(Origin.x,Origin.y,End.x,End.y)); : : } : : ///////////////////////////////以下省略////////////////////////////////// -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.216.24.56
文章代碼(AID): #14ZrjsA8 (java)
文章代碼(AID): #14ZrjsA8 (java)