📄 axis.java
字号:
}
/**
* Sets the angle for the label. After the change is made, an {@link AxisChangeEvent} is sent
* to all registered listeners.
*
* @param angle the angle (in radians).
*/
public void setLabelAngle(double angle) {
this.labelAngle = angle;
notifyListeners(new AxisChangeEvent(this));
}
/**
* Returns a flag indicating whether or not the tick labels are visible.
*
* @return the flag.
*/
public boolean isTickLabelsVisible() {
return tickLabelsVisible;
}
/**
* Sets the flag that determines whether or not the tick labels are visible.
* <P>
* Registered listeners are notified of a general change to the axis.
*
* @param flag the flag.
*/
public void setTickLabelsVisible(boolean flag) {
if (flag != tickLabelsVisible) {
tickLabelsVisible = flag;
notifyListeners(new AxisChangeEvent(this));
}
}
/**
* Returns the font used for the tick labels (if showing).
*
* @return The font (should never be <code>null</code>).
*/
public Font getTickLabelFont() {
return tickLabelFont;
}
/**
* Sets the font for the tick labels. An {@link AxisChangeEvent} is sent to all registered
* listeners.
*
* @param font the font (<code>null</code> not allowed).
*/
public void setTickLabelFont(Font font) {
// check arguments...
if (font == null) {
throw new IllegalArgumentException("Axis.setTickLabelFont(...): null not permitted.");
}
// apply change if necessary...
if (!this.tickLabelFont.equals(font)) {
this.tickLabelFont = font;
notifyListeners(new AxisChangeEvent(this));
}
}
/**
* Returns the color/shade used for the tick labels.
*
* @return the color/shade used for the tick labels.
*/
public Paint getTickLabelPaint() {
return this.tickLabelPaint;
}
/**
* Sets the color/shade used to draw tick labels (if they are showing).
* <P>
* Registered listeners are notified of a general change to the axis.
*
* @param paint the new color/shade.
*/
public void setTickLabelPaint(Paint paint) {
// check arguments...
if (paint == null) {
throw new IllegalArgumentException("Axis.setTickLabelPaint(...): null not permitted.");
}
// make the change (if necessary)...
if (!this.tickLabelPaint.equals(paint)) {
this.tickLabelPaint = paint;
notifyListeners(new AxisChangeEvent(this));
}
}
/**
* Returns the insets for the tick labels.
*
* @return the insets for the tick labels.
*/
public Insets getTickLabelInsets() {
return this.tickLabelInsets;
}
/**
* Sets the insets for the tick labels, and notifies registered listeners
* that the axis has been modified.
*
* @param insets the new tick label insets.
*/
public void setTickLabelInsets(Insets insets) {
// check arguments...
if (insets == null) {
throw new IllegalArgumentException("Axis.setTickLabelInsets(...): null not permitted.");
}
// apply change if necessary...
if (!this.tickLabelInsets.equals(insets)) {
this.tickLabelInsets = insets;
notifyListeners(new AxisChangeEvent(this));
}
}
/**
* Returns the flag that indicates whether or not the tick marks are
* showing.
*
* @return the flag that indicates whether or not the tick marks are showing.
*/
public boolean isTickMarksVisible() {
return tickMarksVisible;
}
/**
* Sets the flag that indicates whether or not the tick marks are showing.
* <P>
* Registered listeners are notified of a general change to the axis.
*
* @param flag the flag.
*/
public void setTickMarksVisible(boolean flag) {
if (flag != tickMarksVisible) {
tickMarksVisible = flag;
notifyListeners(new AxisChangeEvent(this));
}
}
/**
* Returns the inside length of the tick marks.
*
* @return the length.
*/
public float getTickMarkInsideLength() {
return this.tickMarkInsideLength;
}
/**
* Sets the inside length of the tick marks.
*
* @param length the new length.
*/
public void setTickMarkInsideLength(float length) {
this.tickMarkInsideLength = length;
notifyListeners(new AxisChangeEvent(this));
}
/**
* Returns the outside length of the tick marks.
*
* @return the length.
*/
public float getTickMarkOutsideLength() {
return this.tickMarkOutsideLength;
}
/**
* Sets the outside length of the tick marks.
*
* @param length the new length.
*/
public void setTickMarkOutsideLength(float length) {
this.tickMarkOutsideLength = length;
notifyListeners(new AxisChangeEvent(this));
}
/**
* Returns the pen/brush used to draw tick marks (if they are showing).
*
* @return the pen/brush used to draw tick marks.
*/
public Stroke getTickMarkStroke() {
return tickMarkStroke;
}
/**
* Sets the pen/brush used to draw tick marks (if they are showing).
* <P>
* Registered listeners are notified of a general change to the axis.
*
* @param stroke the new pen/brush (null not permitted).
*/
public void setTickMarkStroke(Stroke stroke) {
// check arguments...
if (stroke == null) {
throw new IllegalArgumentException("Axis.setTickMarkStroke(...): null not permitted.");
}
// make the change (if necessary)...
if (!this.tickMarkStroke.equals(stroke)) {
this.tickMarkStroke = stroke;
notifyListeners(new AxisChangeEvent(this));
}
}
/**
* Returns the paint used to draw tick marks (if they are showing).
*
* @return the paint.
*/
public Paint getTickMarkPaint() {
return tickMarkPaint;
}
/**
* Sets the paint used to draw tick marks (if they are showing).
* <P>
* Registered listeners are notified of a general change to the axis.
*
* @param paint the new paint (null not permitted).
*/
public void setTickMarkPaint(Paint paint) {
// check arguments...
if (paint == null) {
throw new IllegalArgumentException("Axis.setTickMarkPaint(...): null not permitted.");
}
// make the change (if necessary)...
if (!this.tickMarkPaint.equals(paint)) {
this.tickMarkPaint = paint;
notifyListeners(new AxisChangeEvent(this));
}
}
/**
* Returns the current list of ticks.
*
* @return the ticks.
*/
public List getTicks() {
return this.ticks;
}
/**
* Returns the plot that the axis is assigned to.
* <P>
* This method will return null if the axis is not currently assigned to a
* plot.
*
* @return The plot that the axis is assigned to.
*/
public Plot getPlot() {
return plot;
}
/**
* Sets a reference to the plot that the axis is assigned to.
* <P>
* This method is used internally, you shouldn't need to call it yourself.
*
* @param plot the plot.
*
* @throws PlotNotCompatibleException if plot is not compatible.
*/
public void setPlot(Plot plot) throws PlotNotCompatibleException {
if (isCompatiblePlot(plot) || plot == null) {
this.plot = plot;
configure();
}
else {
throw new PlotNotCompatibleException(
"Axis.setPlot(...): plot not compatible with axis.");
}
}
/**
* Returns the fixed dimension for the axis.
*
* @return the fixed dimension.
*/
public double getFixedDimension() {
return this.fixedDimension;
}
/**
* Sets the fixed dimension for the axis.
* <P>
* This is used when combining more than one plot on a chart. In this case,
* there may be several axes that need to have the same height or width so
* that they are aligned. This method is used to fix a dimension for the
* axis (the context determines whether the dimension is horizontal or
* vertical).
*
* @param dimension the fixed dimension.
*/
public void setFixedDimension(double dimension) {
this.fixedDimension = dimension;
}
/**
* Configures the axis to work with the current plot. Override this method
* to perform any special processing (such as auto-rescaling).
*/
public abstract void configure();
/**
* Estimates the space (height or width) required to draw the axis.
*
* @param g2 the graphics device.
* @param plot the plot that the axis belongs to.
* @param plotArea the area within which the plot (including axes) should be drawn.
* @param edge the axis location.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -