畫板重繪的實現
在完成之前的功能之後,我們發現當改變窗體大小之後,之前我們在窗體上繪製的圖形會消失
這是因為承載我們圖形的窗體也是畫出來的,在改變大小之後是對窗體和元件進行了重繪
但是不會對我們之前畫的圖形進行重繪
所以我們需要對我們之前畫的圖形進行儲存,然後在對窗體重繪之後進行重新繪製
首先我們定義乙個容器陣列(shape)類用來儲存我們所畫圖形的資料
public class shape
public shape(int x,int y,int x1,int x2,int x3,int y1,int y2,int y3,color color,string type,stroke sroke)
然後重寫寫重繪的方法(我們這裡以直線舉例)
public void draw(graphics g)
}
然後在drawlistener裡畫完直線之後進行儲存
shape shapes=new shape[1000000];
private int i;
public void mousereleased(mouseevent e)
shape s=new shape(x,y,x1, x2, x3, y1, y2, y3, co, command, stroke);
shapes[i++]=s;
draw dr=new draw();
dr.setshape(shapes);
將drawlistener裡儲存的陣列傳遞過來之後,draw主函式裡在在重繪窗體之後呼叫陣列裡儲存的資料並重新繪製圖案
shapes=dl.shapes;
public void paint(graphics g){
//呼叫父類的方法重繪元件
super.paint(g);
for(int i=0;i這是再當我們改變窗體大小之後,原來的圖形不會消失,也會被重新繪製。
到這裡我們的畫圖板就完成了。
java 給小畫板加上重繪
在視窗最小化 改變視窗的位置 大小等操作時 我們會發現原先已經畫好的圖不見了 這到底是為什麼呢?簡單點說是因為在對視窗進行這些操作時,視窗重新繪製了一遍,而由於我們沒有重寫jframe裡的paint 方法,所以呼叫的是父類的方法。public void paint graphics g 這裡的lis...
繪王繪畫板怎麼用
新購買的數字板使用前,應先瀏覽產品配備的說明書,按照說明書提示一步一步開始你的數字板使用之旅。值得注意的是第一次使用數字板會出現一定的不適應,簡單的說就是手生的,就跟學書法的人第一次用毛筆一樣,握筆會不習慣,這點需要慢慢適應,方法就是多寫多用。數字板的壓感級別,指的是數字板對於下筆壓力感應的精細度,...
Button 按鈕的重繪
using system using system.collections.generic using system.componentmodel using system.drawing using system.data using system.linq using system.text u...