-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMyEllipse.java
More file actions
36 lines (30 loc) · 868 Bytes
/
MyEllipse.java
File metadata and controls
36 lines (30 loc) · 868 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
//Filename: MyEllipse.java
//Ellipse class objects the encapsulate properties
//Jason LaHatte
//12/8/2018
//
import java.awt.*;
import java.awt.geom.*;
public class MyEllipse extends MyShape {
protected double minorRadius;
protected double majorRadius;
public MyEllipse() {
this.minorRadius = 0.0;
this.majorRadius = 0.0;
System.out.println("ellipse created");
}
public void setRadius(double M, double m) {
minorRadius = Math.min(m, M);
majorRadius = Math.max(m, M);
}
public double calcArea() {
return Math.PI * minorRadius * majorRadius;
}
public boolean draw(Graphics2D ga) {
Shape ellipse = new Ellipse2D.Double(center.x() - (majorRadius/2.0),
center.y() - (minorRadius/2.0),
majorRadius, minorRadius);
ga.fill(ellipse);
return true;
}
}