Java Reference
In-Depth Information
/** The minimum and maximum Y values */
protected
protected
double
double
miny
=
Integer
.
MAX_VALUE
,
maxy
=
Integer
.
MIN_VALUE
;
/** The range of X and Y values */
protected
protected
double
double
xrange
,
yrange
;
public
public
Grapher
() {
data
=
new
new
ArrayList
<
Point2D
>();
figure
();
}
/** Set the list data from a list of Strings, where the
* x coordinate is incremented automatically, and the y coordinate
* is made from the String in the list.
*/
public
public
void
void
setListDataFromYStrings
(
List
<
String
>
newData
) {
data
.
clear
();
for
for
(
int
int
i
=
0
;
i
<
newData
.
size
();
i
++) {
Point2D p
=
new
new
Point2D
.
Double
();
p
.
setLocation
(
i
,
java
.
lang
.
Double
.
parseDouble
(
newData
.
get
(
i
)));
data
.
add
(
p
);
}
figure
();
}
/** Set the list from an existing List, as from GraphReader.read() */
public
public
void
void
setListData
(
List
<
Point2D
>
newData
) {
data
=
newData
;
figure
();
}
/** Compute new data when list changes */
private
private
void
void
figure
() {
// find min & max
for
for
(
int
int
i
=
0
;
i
<
data
.
size
();
i
++) {
Point2D d
= (
Point2D
)
data
.
get
(
i
);
iif
(
d
.
getX
() <
minx
)
minx
=
d
.
getX
();
iif
(
d
.
getX
() >
maxx
)
maxx
=
d
.
getX
();
iif
(
d
.
getY
() <
miny
)
miny
=
d
.
getY
();
iif
(
d
.
getY
() >
maxy
)
maxy
=
d
.
getY
();
}
// Compute ranges
xrange
= (
maxx
-
minx
) *
BORDERFACTOR
;
yrange
= (
maxy
-
miny
) *
BORDERFACTOR
;
Debug
.
println
(
"range"
,
"minx,x,r = "
+
minx
+
' '
+
maxx
+
' '
+
xrange
);
Debug
.
println
(
"range"
,
"miny,y,r = "
+
miny
+
' '
+
maxy
+
' '
+
yrange
);