【Java开源代码栏目提醒】:网学会员为广大网友收集整理了,AppletPaint.java,希望对大家有所帮助!
package Chapter19;
//文件:程序19.5 AppletPaint.java 描述:Applet绘图演示
//导入需要使用的包和类
import java.applet.Applet;
import java.awt.*;
import java.awt.geom.Line2D;
public class AppletPaint extends Applet {
// 覆盖paint()方法
public void paint(Graphics g) {
// 设置绘图颜色
g.setColor(Color.BLUE);
// 绘制一条直线,端点坐标是(0,0),(50,50)
g.drawLine(0, 0, 300, 300);
// 绘制一个矩形,左上角坐标为(0,0),右下角坐标为(50,50)
g.drawRect(0, 0, 50, 50);
// 绘制一个顶角是圆角的矩形,外接举行左上角坐标(50,50),矩形宽为50,高为50,圆角圆滑宽20,高20.
g.drawRoundRect(50, 50, 50, 50, 20, 20);
// 绘制一个三维矩形,左上角坐标(100,100),矩形宽50,高50,最后指出是否突出表面
g.draw3DRect(100, 100, 50, 50, true);
// 绘制一个弧形,参数分别为,外切左上角x坐标为50,y为100,弧形的宽40,弧形的高120,弧形起始角度0,结束角度270
g.drawArc(50, 100, 40, 120, 0, 270);
// 绘制一个椭圆,参数分别是外切矩形x坐标100,y坐标10,椭圆宽40,长60
g.drawOval(100, 10, 40, 60);
// 绘制五角星
int R = 50; // 创建外圆半径的变量R
int r = (int) (R * Math.sin(Math.PI / 10) / Math.sin(3 * Math.PI / 10));// 计算内切圆的半径
int[] x = new int[10]; // 创建,并初始化int数组x
int[] y = new int[10]; // 创建,并初始化int数组y
for (int i = 0; i < 10; i++) { // for循环遍历
if (i % 2 == 0) { // 判断是否为偶数
x[i] = 200 + (int) (R * Math.cos(Math.PI / 10 + (i - 1)
* Math.PI / 5)); // 计算外侧定点x坐标
y[i] = 200 + (int) (R * Math.sin(Math.PI / 10 + (i - 1)
* Math.PI / 5)); // 计算外侧定点y坐标
} else { // 若为奇数
x[i] = 200 + (int) (r * Math.cos(Math.PI / 10 + (i - 1)
* Math.PI / 5)); // 计算内侧定点x坐标
y[i] = 200 + (int) (r * Math.sin(Math.PI / 10 + (i - 1)
* Math.PI / 5)); // 计算内侧定点x坐标
}
}
g.setColor(Color.red); // 设置上下文绘图颜色
g.fillPolygon(x, y, 10); // 填充多边形
g.setColor(Color.black); // 设置绘图颜色
int xP1[] = { 150, 160, 170, 140 }; // 创建,并初始化多边形的x坐标数组
int yP1[] = { 10, 10, 30, 30 }; // 创建,并初始化多边形的y坐标数组
g.drawPolyline(xP1, yP1, 4); // 绘制直线序列
Line2D.Float line = new Line2D.Float(0, 80, 40, 140);// 指定线粗,的2D点线
Graphics2D g2 = (Graphics2D) g; // 创建,并初始化Graphics2D对象
float dash[] = { 5.0f };
// 为g2设置装饰轮廓
g2.setStroke(new BasicStroke(5, BasicStroke.CAP_BUTT,
BasicStroke.JOIN_BEVEL, 10.0f, dash, 1.0f));
g2.draw(line); // 绘制line
}
}