第六章Applet与用户自定义成分.docx
《第六章Applet与用户自定义成分.docx》由会员分享,可在线阅读,更多相关《第六章Applet与用户自定义成分.docx(11页珍藏版)》请在冰豆网上搜索。
第六章Applet与用户自定义成分
第六章:
Applet与绘制用户自定义成分
EX1:
(JAVA实验指导P301)难度等级:
A
编写一个Applet程序,显示一个正方形和它的内切圆,并编写对应的HTML程序。
importjava.applet.Applet;
importjava.awt.Graphics;
publicclassRectDemoextendsApplet
{
publicvoidpaint(Graphicsg)
{
g.drawRect(10,10,70,70);//画正方形
g.drawOval(10,10,70,70);//画正方形的内切圆
}
}
//HTML程序。
RectDemo//填写文件名
EX2:
难度等级:
A
画一条直线与圆弧
importjava.applet.Applet;
importjava.awt.Graphics;
publicclassRectDemoextendsApplet
{
publicvoidpaint(Graphicsg)
{
g.drawLine(0,0,100,100);//画直线
g.drawArc(200,50,100,100,0,-90);//画圆弧,起始角0,顺时针90度
g.fillArc(300,100,400,200,30,30);//用背景色填充圆弧
}
}
EX3:
难度等级:
A
画出带前景色、圆弧的矩形
importjava.applet.Applet;
importjava.awt.Graphics;
publicclassRectDemoextendsApplet
{
publicvoidpaint(Graphicsg)
{
g.fillRect(0,0,100,100);//画矩形,用前景色填充
g.fillRoundRect(200,50,100,100,30,30);//画带圆角的矩形
g.fillRoundRect(150,0,300,300,0,30);//画带圆角的矩形,用前景色添
}充
}
EX4:
难度等级:
A
importjava.applet.Applet;
importjava.awt.*;
importjava.awt.Color;
publicclassCanvasDemoextendsApplet
{
publicvoidinit()
{
Canvas1c=newCanvas1();//定义画布对象
c.setBackground(Color.red);//设置背景色
c.setSize(300,270);//设置画布大小
add(c);
}
}
classCanvas1extendsCanvas
{
publicvoidpaint(Graphicsg)
{
g.fillArc(140,40,80,100,180,-90);
}
}
EX5:
(java实验指导P302)难度等级:
A
编写一个Applet程序,正方形与圆的参数由用户输入。
importjava.applet.Applet;
importjava.awt.Graphics;//需调用的包
importjava.awt.*;
importjava.awt.event.*;
publicclassRectDemo2extendsAppletimplementsActionListener
{
Labell1,l2;
TextFieldtf1,tf2,tf3;
intx,y,h;
publicvoidinit()
{
l1=newLabel("inputcenter:
",Label.LEFT);
add(l1);
tf1=newTextField(5);
add(tf1);
tf2=newTextField(5);
add(tf2);
l2=newLabel("input",Label.LEFT);
add(l2);
tf3=newTextField(5);
add(tf3);
tf1.addActionListener(this);
tf2.addActionListener(this);
tf3.addActionListener(this);
resize(300,300);
}
publicvoidactionPerformed(ActionEvente)
{
x=Integer.parseInt(tf1.getText());
y=Integer.parseInt(tf2.getText());
h=Integer.parseInt(tf3.getText());
}
publicvoidpaint(Graphicsg)
{
g.drawRect(x,y,h,h);//画正方形
g.drawOval(x,y,h,h);//画圆
}
}
EX6:
(java实验指导P303)难度等级:
A
编写程序,接受用户输入R、G、B颜色分量,填充圆。
importjava.applet.Applet;
importjava.awt.Graphics;
importjava.awt.*;
importjava.awt.event.*;
publicclassRectDemo3extendsAppletimplementsActionListener
{
Labell1,l2,l3;
TextFieldtf1,tf2,tf3;
intx,y,z;
publicvoidinit()
{
l1=newLabel("inputRGBnumber(0~255):
",Label.LEFT);
add(l1);
tf1=newTextField(5);
add(tf1);
l2=newLabel("inputRGBnumber(0~255):
",Label.LEFT);
add(l2);
tf2=newTextField(5);
add(tf2);
l3=newLabel("inputRGBnumber(0~255):
",Label.LEFT);
add(l3);
tf3=newTextField(5);
add(tf3);
tf1.addActionListener(this);
tf2.addActionListener(this);
tf3.addActionListener(this);
resize(300,300);
}
publicvoidactionPerformed(ActionEvente)
{
x=Integer.parseInt(tf1.getText());
y=Integer.parseInt(tf2.getText());
z=Integer.parseInt(tf3.getText());
}
publicvoidpaint(Graphicsg)
{
Colorc=newColor(x,y,z);//定义对象,设置颜色
g.setColor(c);
g.fillOval(300,300,70,70);
}
}
EX7:
(JAVA实验指导P304)难度等级:
A
编写程序,接受用户输入指定的字号、字体和字体风格。
importjava.applet.Applet;
importjava.awt.*;
importjava.awt.event.*;
publicclassFontDemoextendsAppletimplementsActionListener
{
Labell1,l2,l3;
TextFieldtf1,tf2,tf3;
inti,j;
Stringstr;
publicvoidinit()
{
l1=newLabel("inputtype:
");
add(l1);
tf1=newTextField(5);
add(tf1);
l2=newLabel("inputstyle:
");
add(l2);
tf2=newTextField(5);
add(tf2);
l3=newLabel("inputsize:
");
add(l3);
tf3=newTextField(5);
add(tf3);
tf1.addActionListener(this);
tf2.addActionListener(this);
tf3.addActionListener(this);
resize(300,300);
}
publicvoidactionPerformed(ActionEvente)
{
str=tf1.getText();
i=Integer.parseInt(tf2.getText());
j=Integer.parseInt(tf3.getText());
}
publicvoidpaint(Graphicsg)
{
Fontfont=newFont(str,i,j);//定义对象,设置字体
g.setFont(font);
g.drawString("IlikeJAVA!
",100,100);
}
}
EX8:
(JAVA实验指导P305)难度等级:
A
编写程序,接受用户指定的图象文件,显示在屏幕上。
importjava.applet.Applet;
importjava.awt.Image;//需调用的包
importjava.awt.Graphics;
importjava.awt.*;
publicclassImageDemoextendsApplet
{
Imageig;//定义图象类
publicvoidinit()
{
ig=getImage(getCodeBase(),"Image.jpg");//定义对象
resize(300,300);
}
publicvoidpaint(Graphicsg)
{
g.drawImage(ig,20,30,this);//添入参数
}
}
EX9:
(JAVA2简明教程P330)难度等级:
B
获得图形大小,对图象缩放。
importjava.applet.Applet;
importjava.awt.Image;//需调用的包
importjava.awt.Graphics;
importjava.awt.*;
publicclassImageDemoextendsApplet
{
Imageig;
publicvoidinit()
{
ig=getImage(getCodeBase(),"Image.jpg");
resize(300,300);
}
publicvoidpaint(Graphicsg)
{
intw=ig.getWidth(this);//获得图象宽度
inth=ig.getHeight(this);//获得图象高度
g.drawImage(ig,20,30,this);
g.drawImage(ig,200,30,w/2,h/2,this);//把图象缩小一倍
g.drawImage(ig,350,30,w*2,h*2,this);//把图象放大一倍
}
}
EX7:
(java2简明教程P315)难度等级:
B
绘制多边形
importjava.applet.Applet;
impotjava.awt.Graphics;
importjava.awt.Color;
publicclassPolyDemoextendsApplet
{
intpX1[]={20,50,60,50,20};//多边形边坐标
intpY1[]={20,30,50,60,20};
intp1=4;//边数
intpX2[]={70,100,120,104,20};
intpY2[]={80,,100,120,202,20};
intp2=4;
publicvoidpaint(Graphicsg)
{
g.setColor(Color.blue);
g.drawPolygon(pX1,pY1,p1);//绘制多边形
g.setColor(Color.red);
g.fillPolygon(pX2,pY2,p2);//绘制多边形,用当前色填充
}
}
EX8:
(JAVA2简明教程P317)难度等级:
A
画布
importjava.applet.Applet;
importjava.awt.*;
importjava.awt.Color;
publicclassCanvasDemoextendsApplet
{
publicvidinit()
{
Canvas1c=newCanvas1();//定义画布
c.setBackground(Color.red);//设置前景色为红色
c.setSize(300,270);//设置大小为300*270
add(c);
}
classCanvas1extendsCanvas
{
publicvoidpaint(Graphicsg)
{
g.fillArc(140,40,80,100,180,-90);
}
}
EX9:
(JAVA2简明教程P320)难度等级:
B
字体类方法的调用
importjava.applet.Applet;
importjava.awt.*;
PublicclassFontDemoextendsApplet
{
Fontf1=newFont(“Serif”,Font.ITALIC,24);
Publicvoidpaint(Graphicsg)
{
g.setFont(f1);
g.drawString(“FimalyName:
”+f1.getFamily());//返回字体的家族名
g.drawString(“Style:
”+f1.getStyle());//返回字体风格的整数值
}
}
EX10:
(JAVA2简明教程P324)难度等级:
A
绘图模式:
异或,覆盖
importjava.applet.Applet;
importjava.awt.*;
publicclassXorextendsApplet
{
publicvoidpaint(Graphicsg)
{
setBackground(Color.yellow);
g.setColor(Color.red);
g.fillOval(50,40,80,80);
g.setXORMode(Color.green);//异或方式
g.fillOval(100,40,80,80);//写出此圆的颜色(黑)
g.setPaintMode();
g.setColor(Color.blue);
g.fillRect(45,120,150,20);
}
}