//绘制图形
Graphics g;
g.drawLine(x1,y1,x2,y2); //画直线(x1,y1)为起始点坐标,(x2,y2)为终点坐标
g.drawRect(x1,y1,x,y); //画矩形框,(x1,y1)为矩形左上角坐标,x,y分别为x轴尺寸,y轴尺寸。
g.fillRect(x1,y1,x,y); //画实心矩形,其变量意义与上同。
g.drawRoundRect(a,b,c,d,e,f);
g.drawOval(x1,y1,x,y); //画椭圆形框,其变量意义与上同。
g.fillOver(x1,y1,x,y); //画实习椭圆,其变量意义与上同。
//画任意多边形
int[] xCoords = {30,50,65,119,127};//保存多边形各点x坐标的数组
int[] yCoords = {100,140,127,169,201};//保存多边形各点y坐标的数组
g.drawPolygon(xCoords,yCoords,5);
//设置并使用颜色
Color blueColor = new Color(0,0.255); //设置一种颜色
g.setColor(blueColor); //使用所设置的颜色
g.getColor(); //返回当前Grahgics或组件对象使用的颜色
//设置并使用字体
Font MyFont = new Font(“TimesRoman”,Font.Bold,12);
//MyFont对应的是12磅TimesRoman类型的黑体字,指定字型时需用到Font类的三个常量:Font.PLAIN(无格式),Font.BOLD(粗体),Font.ITALIC(斜体)
g.setFont(MyFont); //使用所设置的字体
g.getFont();//返回当前Grahgics或组件对象使用的字体
若指定控制组件,如按钮或文本框的字体效果:
Button bt = new Button(“ddd”);
bt.setFont(MyFont); //把按扭上的字体改为所设的格式
//显示图像
Image myImage;
myImage = getImage(getDocumentBase(), “11.jpg”);
g.drawImage(myImage,0,0,this);
//其中getImage(a,b);中a表示图像文件所在的URL地址,若与HTML文件放在同一个目录下,则用getDocumentBase()。b为图像文件的文件名。
drawImage(a,b,c,d);中a为保存有图像数据的Image对象,b、c表示图像的左上角点坐标,决定在容器如浏览器中显示的位置,d的this代表了当前的Applet对象。
//显示动画效果
原理:把若干相关的图像或图片,顺序,连续地在屏幕上先显示,后擦除,循环往复就可以获得动画效果。如:
import java.applet.*;
import java.awt.*;
public class ShowAnimator extends Applet
{
Image[] m_Images; //定义Image类型的数组,用来存放一组图片
int totalImages = 10;//存放的图片总数
int currentImage = 0;//当前显示的图像序号
public void init()
{
//把所需要形成动画的10幅图按顺序加载到数组m_Images中
m_Images = new Image[totalImages];
for(int i=0;i<totalImages;i++)
{
m_Images[i] = getImage(getDocumentBase(),"1//"+(i+1)+".jpg");
}
}
public void start()
{
//每次调用时当前图片为第一幅
currentImage = 0;
}
public void paint(Graphics g)
{
g.drawImage(m_Images[currentImage],50,50,this);//显示当前序号的图片
currentImage = (currentImage+1)%10;//保证循环播放
try{
Thread.sleep(300); //休眠50毫秒,两幅图显示的间隔时间
}
catch(InterruptedException e)
{
showStatus(e.toString());
}
repaint();//刷新,显示下一张图片
}import java.applet.*;
import java.awt.*;
public class ShowAnimator extends Applet
{
Image[] m_Images; //定义Image类型的数组,用来存放一组图片
int totalImages = 10;//存放的图片总数
int currentImage = 0;//当前显示的图像序号
public void init()
{
//把所需要形成动画的10幅图按顺序加载到数组m_Images中
m_Images = new Image[totalImages];
for(int i=0;i<totalImages;i++)
{
m_Images[i] = getImage(getDocumentBase(),"1//"+(i+1)+".jpg");
}
//图片放在的程序所在目录中的1目录中。
}
public void start()
{
//每次调用时当前图片为第一幅
currentImage = 0;
}
public void paint(Graphics g)
{
g.drawImage(m_Images[currentImage],50,50,this);//显示当前序号的图片
currentImage = (currentImage+1)%10;//保证循环播放
try{
Thread.sleep(300); //休眠50毫秒,两幅图显示的间隔时间
}
catch(InterruptedException e)
{
showStatus(e.toString());
}
repaint();//刷新,显示下一张图片
}
ActionListener接口与TextListener接口
在文本框中加入实现这两种接口的事件监听者:
textField1.addTextListener(this);
textField1.addActionListener(this);
在监听者内部分别定义响应方本改变事件和动作事件的方法:
public void textValueChanged(TextEvent e);
public void actionPerformed(ActionEvent e);
e.getSourse()可以获得引发该事件的文本框的对象引用。如:
if(e.getSourse() == textField1)
{}
//其中textField1为加入该事件的文本框。