4)参照样例3绘制移动的文字,但绘制时利用双缓冲技术,先创建一个和显示文字串一样大小的缓冲区,将文字绘制在缓冲区,再利用图像绘制方法绘制在Applet画面上。 package appletTest;
import java.applet.Applet; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.Image;
public class bufferImageDemo extends Applet { Image img; int pos=0; public void init(){ img=createImage(150,100); Graphics g2=img.getGraphics(); Font font=new Font(\黑体\ g2.setFont(font); g2.setColor(Color.magenta); g2.drawString(\ } public void paint(Graphics g){ g.drawImage(img, 0+pos,0,this); try { Thread.sleep(100); } catch (InterruptedException e) {} pos=pos+5; if(pos>getWidth()) pos=0; repaint(); } }
实验结果:
1)根据Applet大小绘制若干同心圆,相邻圆之间的间距为x个象素。
2)通过Applet参数提供两个间距在100以内的整数,找出这两个整数之间的所有素数,按每行5个在Applet画面上输出。
3) 在Applet画面中绘制一个19×19的围棋棋盘。棋盘的颜色由白(white)、灰(gray)、橘黄(orange)、浅红(pink)几种颜色中随机选取。
4)绘制数学函数y=sin(x)的曲线(其中,x的取值为0~360)。
5)绘制一个太阳包括若干射线,让太阳在Applet画面上从左向右缓慢移动,到最右边由重新回到左边。
6)从Applet参数获取一个字符串,统计其中每个英文字母出现的次数(不区分大小写)。
7)参照样例3绘制移动的文字,但绘制时利用双缓冲技术,先创建一个和显示文字串一样大小的缓冲区,将文字绘制在缓冲区,再利用图像绘制方法绘制在Applet画面上。