|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object info.monitorenter.gui.chart.labelformatters.ALabelFormatter info.monitorenter.gui.chart.labelformatters.LabelFormatterNumber
public class LabelFormatterNumber
An ILabelFormatter that is based on a NumberFormat
To avoid loss of precision please choose a sufficient resolution for your
constructor given NumberFormat. Example: If you add new
TracePoint2D
instances to the
Chart2D
every second, prefer using a
NumberFormat that at least formats the seconds like (e.g.):
NumberFormat format = new java.text.SimpleDateFormat("HH:mm:ss");
Field Summary | |
---|---|
protected java.text.NumberFormat |
m_numberFormat
The number format to use. |
Fields inherited from class info.monitorenter.gui.chart.labelformatters.ALabelFormatter |
---|
m_propertyChangeSupport, UNIT_UNCHANGED |
Fields inherited from interface info.monitorenter.gui.chart.IAxisLabelFormatter |
---|
PROPERTY_FORMATCHANGE |
Constructor Summary | |
---|---|
LabelFormatterNumber()
Default constructor that uses the defalut constructor of . |
|
LabelFormatterNumber(java.text.NumberFormat numberFormat)
Creates a label formatter that uses the given number format. |
Method Summary | |
---|---|
boolean |
equals(java.lang.Object obj)
|
java.lang.String |
format(double value)
Provide a String for the value. |
int |
getMaxAmountChars()
Returns the maximum amount of characters that will be returned from IAxisLabelFormatter.format(double) . |
double |
getMinimumValueShiftForChange()
Returns the minimum change in the value to format that will cause to return a different formatted String. |
double |
getNextEvenValue(double value,
boolean ceiling)
Returns the next "even" value to the given one. |
java.text.NumberFormat |
getNumberFormat()
Returns the internal NumberFormat . |
int |
hashCode()
|
java.lang.Number |
parse(java.lang.String formatted)
The reverse operation to . |
void |
setNumberFormat(java.text.NumberFormat numberFormat)
Sets the number formatter to use. |
Methods inherited from class info.monitorenter.gui.chart.labelformatters.ALabelFormatter |
---|
addPropertyChangeListener, getAxis, getUnit, initPaintIteration, removePropertyChangeListener, setAxis |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface info.monitorenter.gui.chart.IAxisLabelFormatter |
---|
addPropertyChangeListener, getUnit, initPaintIteration, removePropertyChangeListener, setAxis |
Field Detail |
---|
protected java.text.NumberFormat m_numberFormat
Constructor Detail |
---|
public LabelFormatterNumber()
DecimalFormat
.
public LabelFormatterNumber(java.text.NumberFormat numberFormat)
numberFormat
- the number format to use.Method Detail |
---|
public boolean equals(java.lang.Object obj)
equals
in class ALabelFormatter
Object.equals(java.lang.Object)
public java.lang.String format(double value)
IAxisLabelFormatter
format
in interface IAxisLabelFormatter
value
- the value to format.
IAxisLabelFormatter.format(double)
public int getMaxAmountChars()
ALabelFormatter
IAxisLabelFormatter.format(double)
.
getMaxAmountChars
in interface IAxisLabelFormatter
getMaxAmountChars
in class ALabelFormatter
IAxisLabelFormatter.format(double)
.IAxisLabelFormatter.getMaxAmountChars()
public double getMinimumValueShiftForChange()
IAxisLabelFormatter
To achieve two different formatted Strings to be returned from the format method the corresponding values given to the format method have to differ at least by this value.
Some implementations (e.g. a formatter for date) have to use their own
format method an increas a value to determine when the first change will
occur. This is expensive and it's recommended that this action is performed
once only and the result is stored. Additionally this routine has to start
with an "even" (see IAxisLabelFormatter.getNextEvenValue(double, boolean)
) value to
get a correct result (the distance from even number to even number).
getMinimumValueShiftForChange
in interface IAxisLabelFormatter
IAxisLabelFormatter.getMinimumValueShiftForChange()
public double getNextEvenValue(double value, boolean ceiling)
IAxisLabelFormatter
getNextEvenValue
in interface IAxisLabelFormatter
value
- the value to get the next "even" value for.ceiling
- if true, the next higher number will returned, else the next lower
one.
IAxisLabelFormatter.getNextEvenValue(double,
boolean)
public java.text.NumberFormat getNumberFormat()
NumberFormat
.
NumberFormat
.public int hashCode()
hashCode
in class ALabelFormatter
Object.hashCode()
public java.lang.Number parse(java.lang.String formatted) throws java.lang.NumberFormatException
IAxisLabelFormatter
IAxisLabelFormatter.format(double)
.
The given argument has to be in the format that will be generated by that
method or exceptions may be thrown.
test.parse(test.format(d))== d
has to be true if no rounding occurs by the formatter.
parse
in interface IAxisLabelFormatter
formatted
- a String
in the format that will be produced by
method IAxisLabelFormatter.format(double)
.
java.lang.NumberFormatException
- if the format of the argument is invalid.IAxisLabelFormatter.parse(java.lang.String)
public final void setNumberFormat(java.text.NumberFormat numberFormat)
Fires a
to the
listeners added via
PropertyChangeEvent
with the property key ALabelFormatter.addPropertyChangeListener(String, java.beans.PropertyChangeListener)
.
IAxisLabelFormatter.PROPERTY_FORMATCHANGE
numberFormat
- the number formatter to use.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |