【Java开源代码栏目提醒】:本文主要为网学会员提供AreaTest.java,希望对需要AreaTest.java网友有所帮助,学习一下!
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
import java.util.*;
public class AreaTest extends Applet
{
// 一个Area对象数组和一个对应的几何描述String数组
private Area[] shapes;
private String[] ops;
public void init()
{
// 创建4个Area对象和对应的String
shapes = new Area[4];
ops = new String[4];
// 创建2个在原点附近重叠的圆
Ellipse2D e1 = new Ellipse2D.Double(-0.125, 0.0, 0.5, 0.5);
Ellipse2D e2 = new Ellipse2D.Double(+0.125, 0.0, 0.5, 0.5);
// 创建两个形状的并集
shapes[0] = new Area(e1);
shapes[0].add(new Area(e2));
ops[0] = "Union";
// 从e1中减去e2
shapes[1] = new Area(e1);
shapes[1].subtract(new Area(e2));
ops[1] = "Subtraction";
// 创建两个形状之间的补集
shapes[2] = new Area(e1);
shapes[2].intersect(new Area(e2));
ops[2] = "Intersection";
// 在两个形状间使用异或(Exclusive OR)操作
shapes[3] = new Area(e1);
shapes[3].exclusiveOr(new Area(e2));
ops[3] = "XOR";
}
public void paint(Graphics g)
{
// 把传入的Graphics容器转换为一个可用的 Graphics2D 对象
Graphics2D g2d = (Graphics2D)g;
// 创建一个笔划来描述形状的外形
g2d.setStroke(new BasicStroke(2.0f/100.0f));
// 用来产生随机颜色的Random对象
Random r = new Random();
// 绘制形状和操作描述
for(int i = 0; i < 4; i++)
{
g2d.setTransform(new AffineTransform());
g2d.translate(50+(i*100), 40);
g2d.drawString(ops[i], 0, 70);
g2d.scale(100, 100);
g2d.setPaint(new Color(r.nextInt()));
g2d.fill(shapes[i]);
g2d.setPaint(Color.BLACK);
g2d.draw(shapes[i]);
}
}
} // AreaTest
上一篇:
AreaShow.java
下一篇:
电力调度管理中信息技术论文