areatest.java
来自「java learn PPT java learn PPT java learn」· Java 代码 · 共 72 行
JAVA
72 行
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
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?