|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Object | +--org.PingOO.DLAI.lib.graph.Axis
This class controls the look and feel of axes.
It is designed to be used in conjunction with the Graph2D class and DataSet class for plotting 2D graphs.
To work with the other classes a system of registration is used.
The axes have to be attached to the controlling Graph2D class and the DataSet's have to be attached to both the Graph2D class and the Axis class.
This way the 3 main classes Graph2D, Axis and DataSet know of each others existence.
This does not mean the classes cannot be used independently, they can but in this mode nothing is automated, the user must code everything manually.
| Field Summary | |
protected java.awt.Point |
amax
The position in pixels of the maximum point of the axis line |
protected java.awt.Point |
amin
The position in pixels of the minimum point of the axis line |
java.awt.Color |
axiscolor
Color of the Axis. |
static int |
BOTTOM
Constant flagging Axis position on the graph. |
java.awt.Dimension |
data_window
Before the Axis can be positioned correctly and drawn the data window needs to be calculated and passed to the Axis. |
protected java.util.Vector |
dataset
Vector containing a list of attached DataSets. |
boolean |
drawgrid
If true draw a grid positioned on major ticks over the graph. |
boolean |
drawzero
If true draw a line positioned on the Zero label tick mark. |
protected RTextLine |
exponent
Textline class to hold the label's exponent (if it has one). |
boolean |
force_end_labels
Rescale the axis so that labels fall at the end of the Axis. |
Graph2D |
g2d
The graph canvas this axis is attached to (if it is attached to any) |
java.awt.Color |
gridcolor
Color of the grid. |
protected int |
guess_label_number
Initial guess for the number of labels required |
static int |
HORIZONTAL
Constant flagging Horizontal Axis |
protected RTextLine |
label
Textline class to hold the labels before printing. |
protected int |
label_count
The number of labels required |
protected int |
label_exponent
The label exponent |
protected double |
label_start
The starting value of the labels |
protected double |
label_step
The increment between labels |
protected java.lang.String[] |
label_string
String to contain the labels. |
protected float[] |
label_value
The actual values of the axis labels. |
static int |
LEFT
Constant flagging Axis position on the graph. |
int |
major_tic_size
Size in pixels of the major tick marks |
protected boolean |
manualRange
If true the axis range must be manually set by setting the Axis.minimum and Axis.maximum variables.
|
protected int |
max_label_width
The width of the maximum label. |
double |
maximum
Maximum data value of the axis. |
double |
minimum
Minimum data value of the axis. |
int |
minor_tic_count
Number of minor tick marks between major tick marks |
int |
minor_tic_size
Size in pixels of the minor tick marks |
static int |
NUMBER_OF_TICS
The first guess on the number of Labeled Major tick marks. |
protected int |
orientation
The orientation of the axis. |
protected int |
position
The position of the axis. |
boolean |
redraw
Default value true. |
static int |
RIGHT
Constant flagging Axis position on the graph. |
protected RTextLine |
title
Textline class to contain the title of the axis. |
static int |
TOP
Constant flagging Axis position on the graph. |
static int |
VERTICAL
Constant flagging Vertical Axis |
protected int |
width
The width of the Axis. |
java.awt.Color |
zerocolor
Color of the line at the Zero label. |
| Constructor Summary | |
Axis()
Instantiate the class. |
|
Axis(int p)
Instantiates the class. |
|
| Method Summary | |
void |
attachDataSet(DataSet d)
Attaches a DataSet for the Axis to manage. |
protected void |
attachXdata(DataSet d)
Attaches a DataSet to a Horizontal Axis |
protected void |
attachYdata(DataSet d)
Attaches a DataSet to a Vertical Axis |
protected void |
calculateGridLabels()
Calculate the labels |
void |
detachAll()
Detaches all attached dataSets. |
void |
detachDataSet(DataSet d)
Detaches an attached DataSet. |
void |
drawAxis(java.awt.Graphics g)
Draws the axis using the passed Graphics context. |
protected void |
drawHAxis(java.awt.Graphics g)
Drawq a Horizontal Axis. |
protected void |
drawVAxis(java.awt.Graphics g)
Draws a Vertical Axis. |
int |
getAxisPos()
Returns the position of the Axis. |
int |
getAxisWidth(java.awt.Graphics g)
Return the width of the axis. |
double |
getDataMax()
Returns the maximum value of All datasets attached to the axis. |
double |
getDataMin()
Returns the minimum value of All datasets attached to the axis. |
double |
getDouble(int i)
Returns the data value equivalent of the passed pixel position. |
int |
getInteger(double v)
Returns the pixel equivalent of the passed data value. |
boolean |
isVertical()
If the Axis is Vertical return true. |
boolean |
positionAxis(int xmin,
int xmax,
int ymin,
int ymax)
Positions the axis at the passed coordinates. |
void |
resetRange()
Resets the range of the axis (the minimum and maximum values) to the default data values. |
private double |
RoundUp(double val)
Rounds up the passed value to a NICE value. |
void |
setExponentColor(java.awt.Color c)
Sets the color of the exponent |
void |
setExponentFont(java.awt.Font f)
Sets the font of the exponent |
void |
setLabelColor(java.awt.Color c)
Sets the color of the labels |
void |
setLabelFont(java.awt.Font f)
Sets the font of the labels. |
void |
setManualRange(boolean b)
Is the range of the axis to be set automatically (based on the data) or manually by setting the values Axis.minimum and Axis.maximum? |
void |
setPosition(int p)
Sets the axis position. |
void |
setTitleColor(java.awt.Color c)
Sets the color of the title |
void |
setTitleFont(java.awt.Font f)
Sets the font of the title |
void |
setTitleRotation(int a)
Sets the title rotation angle. |
void |
setTitleText(java.lang.String s)
Sets the title of the axis |
| Methods inherited from class java.lang.Object |
|
| Field Detail |
public static final int HORIZONTAL
public static final int VERTICAL
public static final int LEFT
public static final int RIGHT
public static final int TOP
public static final int BOTTOM
public static final int NUMBER_OF_TICS
public boolean drawgrid
true draw a grid positioned on major ticks over the graph.public boolean drawzero
true draw a line positioned on the Zero label tick mark.public java.awt.Color gridcolor
public java.awt.Color zerocolor
public boolean redraw
true. Normally never changed.
false the Axis draw method exits without drawing the axis.org.PingOO.DLAI.lib.grap.Axis#drawAxispublic boolean force_end_labels
public int major_tic_size
public int minor_tic_size
public int minor_tic_count
public java.awt.Color axiscolor
public double minimum
public double maximum
public java.awt.Dimension data_window
public Graph2D g2d
Graph2Dprotected java.awt.Point amin
protected java.awt.Point amax
protected int orientation
Axis.HORIZONTAL or Axis.VERTICAL.protected int position
Axis.LEFT, Axis.RIGHT, Axis.TOP, or Axis.BOTTOM.protected int width
protected RTextLine title
protected RTextLine label
protected RTextLine exponent
protected int max_label_width
protected java.util.Vector dataset
protected java.lang.String[] label_string
protected float[] label_value
protected double label_start
protected double label_step
protected int label_exponent
protected int label_count
protected int guess_label_number
protected boolean manualRange
true the axis range must be manually set by setting the Axis.minimum and Axis.maximum variables.
false.
The default action is for the axis range to be calculated everytime a dataset is attached.| Constructor Detail |
public Axis()
public Axis(int p)
p - Set the axis position. Must be one of Axis.BOTTOM, Axis.TOP, Axis.LEFT, Axis.RIGHT, Axis.HORIZONTAL or Axis.VERTICAL. If one of the latter two are used then Axis.BOTTOM or Axis.LEFT is assumed.| Method Detail |
public void setPosition(int p)
p - Must be one of Axis.BOTTOM, Axis.TOP, Axis.LEFT, Axis.RIGHT, Axis.HORIZONTAL or Axis.VERTICAL. If one of the latter two are used then Axis.BOTTOM or Axis.LEFT is assumed.public void attachDataSet(DataSet d)
d - dataSet to attachDataSetpublic void detachDataSet(DataSet d)
d - The DataSet to detach.DataSetpublic void detachAll()
public double getDataMin()
public double getDataMax()
public int getInteger(double v)
v - The data value to convert.org.PingOO.DLAI.lib.graph.graph.Axis#getDoublepublic double getDouble(int i)
i - The pixel value.org.PingOO.DLAI.lib.graph.graph.Axis#getIntegerpublic void resetRange()
public int getAxisPos()
Axis.LEFT, Axis.RIGHT, Axis.TOP, or Axis.BOTTOM.public boolean isVertical()
true.true, false otherwise.public int getAxisWidth(java.awt.Graphics g)
g - graphics context.
public boolean positionAxis(int xmin,
int xmax,
int ymin,
int ymax)
xmin - The minimum X pixel.xmax - The maximum X pixel. These should be equal if the axis is vertical.ymin - The minimum Y pixelymax - The maximum Y pixel. These should be equal if the axis is horizontal.true if there are no inconsistencies, false otherwise.public void drawAxis(java.awt.Graphics g)
g - Graphics context for drawingpublic void setTitleText(java.lang.String s)
s - A string containing text.public void setTitleColor(java.awt.Color c)
c - The color of the title.public void setTitleFont(java.awt.Font f)
c - The title font.public void setTitleRotation(int a)
a - The title rotation angle in degrees.public void setLabelColor(java.awt.Color c)
c - The color of the labels.public void setLabelFont(java.awt.Font f)
f - The font of the labels.public void setExponentColor(java.awt.Color c)
c - The color of the exponent.public void setExponentFont(java.awt.Font f)
f - The font of the exponent.public void setManualRange(boolean b)
b - A boolean value.protected void drawHAxis(java.awt.Graphics g)
g - Graphics context.protected void drawVAxis(java.awt.Graphics g)
g - Graphics context.protected void attachXdata(DataSet d)
d - The dataset to attach.protected void attachYdata(DataSet d)
d - The dataset to attach.protected void calculateGridLabels()
private double RoundUp(double val)
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||