public void paint(graphics g)
// 畫出草地
paintgrass(gimage);
// 畫出小河
paintriver(gimage);
// 畫出石頭
paintstone(gimage);
// 畫出各種道具
painttool(gimage);
// 將接下來的載入到窗體畫布上去,才能考到每次畫的效果
g.drawimage(offscreenimage, 0, 0, null);
}
這篇文章的這段**,可以實現jframe
的雙緩衝。而且,必須在定義完gimage時,就去呼叫super.paint(image),而不能是在gimage.setcolor之後,否則的話就會導致背景的顏色沒法顯示。
雙緩衝機制
最早解釋多緩衝區如何工作的方式,是通過乙個現實生活中的例項來解釋的。在乙個陽光明媚的日子,你想將水池裡的水換掉,而又找不到水管的時候,你就只能用木桶來灌滿水池。當木桶被水龍頭注滿的,關掉水龍頭,走到水池旁邊,將水到進去,然後走回到水龍頭旁邊繼續重複上述工作,如此往復直到將水池灌滿。這就類似單緩衝工作...
Java 雙緩衝機制
圖形的移動的時候不時會出現閃爍的現象,這是由於在同乙個繪圖表面上對圖形進行反覆繪製並擦除所導致的。舉例來說,乙個繪製的小球,圖形的繪製總是在panle元件的graphics物件上進行的,在繪製一幅小球的圖形後馬上更新小球座標,接著呼叫repaint 方法擦除已有圖形並繪製一幅新的圖形。這一過程反覆地...
c 窗體雙緩衝機制
以下是msdn的說明 雙緩衝使用記憶體緩衝區來解決由多重繪製操作造成的閃爍問題。當啟用雙緩衝時,所有繪製操作首先呈現到記憶體緩衝區,而不是螢幕上的繪圖圖面。所有繪製操作完成後,記憶體緩衝區直接複製到與其關聯的繪圖圖面。因為只在螢幕上執行一項圖形操作,所以消除了與複雜繪圖操作關聯的圖形閃爍。對於大多數...