练****71移动的彩虹本例知识点一句话讲解新学知识使用Color类设置彩虹RGB的颜色使用Thread类管理线程已学知识使用Image类导入图片使用Graphics类画屏一、练****具体要求本练****制作移动的彩虹的实例。如图71-1所示,程序执行后,创建一个可以显示彩虹的面板,在程序的控制下,被显示的彩虹可以产生移动的效果。。二、程序及注释(1)编程思路:首先,本练****因为要制作移动的彩虹的实例,所以首先要制作彩虹,olorcg(inti)构造彩虹的颜色,olorc(inti)设置彩虹RGB的颜色,最后在函数publicvoidstart()中,()语句来启动线程。然后,为了实现移动的效果,所以首先要通过函数publicvoidcreateBuffer()来创建内存的缓冲区,然后在函数publicvoidrun()中通过线程的延迟来实现彩虹的移动效果。(2)程序实现及注释://;.*;lassRunningRainbowextendsAppletimplementsRunnable{//变量定义intdelay=0;intshift=0;intoffset=0;doubless=0;doublear=0;doubleag=0;doubleab=0;doublesr=0;doublesg=0;doublesb=0;doublear1=0;Stringdirection=null;Stringmethod=null;booleanisInvert=false;booleanisRunning=false;booleanisParams=false;ThreadanimatorThread=null;ImageoffImage=null;GraphicsoffGraphics=null;//启动小程序publicvoidstart(){if(isRunning){if(animatorThread==null)animatorThread=newThread(this);();}}//得到参数信息publicString[][]getParameterInfo(){Stringas[][]={{"delay","Integer","delayofanimation"},{"shift","Integer","shiftofanimation"},{"method","Integer","methodofrainbowrendering:gaussianortrapezoid"},{"ar","Double","ponent"},{"ag","Double","ponent"},{"ab","Double","ponent"},{"sr","Double","ponent"},{"sg","Double","ponent"},{"sb","Double","ponent"}};returnas;}//停止小程序publicvoidstop(){animatorThread=null;}
练习 71移动的彩虹 来自淘豆网www.taodocs.com转载请标明出处.