📄 crosshairstate.java
字号:
}
/**
* Evaluates an x-value and if it is the closest to the anchor x-value it
* becomes the new crosshair value.
* <P>
* Used in cases where only the x-axis is numerical.
*
* @param candidateX x position of the candidate for the new crosshair
* point.
* @param domainAxisIndex the index of the domain axis for this x-value.
*
* @since 1.0.4
*/
public void updateCrosshairX(double candidateX, int domainAxisIndex) {
double d = Math.abs(candidateX - this.anchorX);
if (d < this.distance) {
this.crosshairX = candidateX;
this.domainAxisIndex = domainAxisIndex;
this.distance = d;
}
}
/**
* Evaluates a y-value and if it is the closest to the anchor y-value it
* becomes the new crosshair value.
* <P>
* Used in cases where only the y-axis is numerical.
*
* @param candidateY y position of the candidate for the new crosshair
* point.
*
* @deprecated Use {@link #updateCrosshairY(double, int)}. See bug report
* 1086307.
*/
public void updateCrosshairY(double candidateY) {
updateCrosshairY(candidateY, 0);
}
/**
* Evaluates a y-value and if it is the closest to the anchor y-value it
* becomes the new crosshair value.
* <P>
* Used in cases where only the y-axis is numerical.
*
* @param candidateY y position of the candidate for the new crosshair
* point.
* @param rangeAxisIndex the index of the range axis for this y-value.
*
* @since 1.0.4
*/
public void updateCrosshairY(double candidateY, int rangeAxisIndex) {
double d = Math.abs(candidateY - this.anchorY);
if (d < this.distance) {
this.crosshairY = candidateY;
this.rangeAxisIndex = rangeAxisIndex;
this.distance = d;
}
}
/**
* Returns the anchor point.
*
* @return The anchor point.
*
* @see #setAnchor(Point2D)
*
* @since 1.0.3
*/
public Point2D getAnchor() {
return this.anchor;
}
/**
* Sets the anchor point. This is usually the mouse click point in a chart
* panel, and the crosshair point will often be the data item that is
* closest to the anchor point.
* <br><br>
* Note that the x and y coordinates (in data space) are not updated by
* this method - the caller is responsible for ensuring that this happens
* in sync.
*
* @param anchor the anchor point (<code>null</code> permitted).
*
* @see #getAnchor()
*/
public void setAnchor(Point2D anchor) {
this.anchor = anchor;
}
/**
* Returns the x-coordinate (in data space) for the anchor point.
*
* @return The x-coordinate of the anchor point.
*
* @since 1.0.3
*/
public double getAnchorX() {
return this.anchorX;
}
/**
* Sets the x-coordinate (in data space) for the anchor point. Note that
* this does NOT update the anchor itself - the caller is responsible for
* ensuring this is done in sync.
*
* @param x the x-coordinate.
*
* @since 1.0.3
*/
public void setAnchorX(double x) {
this.anchorX = x;
}
/**
* Returns the y-coordinate (in data space) for the anchor point.
*
* @return The y-coordinate of teh anchor point.
*
* @since 1.0.3
*/
public double getAnchorY() {
return this.anchorY;
}
/**
* Sets the y-coordinate (in data space) for the anchor point. Note that
* this does NOT update the anchor itself - the caller is responsible for
* ensuring this is done in sync.
*
* @param y the y-coordinate.
*
* @since 1.0.3
*/
public void setAnchorY(double y) {
this.anchorY = y;
}
/**
* Get the x-value for the crosshair point.
*
* @return The x position of the crosshair point.
*
* @see #setCrosshairX(double)
*/
public double getCrosshairX() {
return this.crosshairX;
}
/**
* Sets the x coordinate for the crosshair. This is the coordinate in data
* space measured against the domain axis.
*
* @param x the coordinate.
*
* @see #getCrosshairX()
* @see #setCrosshairY(double)
* @see #updateCrosshairPoint(double, double, double, double,
* PlotOrientation)
*/
public void setCrosshairX(double x) {
this.crosshairX = x;
}
/**
* Get the y-value for the crosshair point. This is the coordinate in data
* space measured against the range axis.
*
* @return The y position of the crosshair point.
*
* @see #setCrosshairY(double)
*/
public double getCrosshairY() {
return this.crosshairY;
}
/**
* Sets the y coordinate for the crosshair.
*
* @param y the y coordinate.
*
* @see #getCrosshairY()
* @see #setCrosshairX(double)
* @see #updateCrosshairPoint(double, double, double, double,
* PlotOrientation)
*/
public void setCrosshairY(double y) {
this.crosshairY = y;
}
/**
* Returns the dataset index that the crosshair values relate to. The
* dataset is mapped to specific axes, and this is how the crosshairs are
* mapped also.
*
* @return The dataset index.
*
* @see #setDatasetIndex(int)
*
* @since 1.0.11
*/
public int getDatasetIndex() {
return this.datasetIndex;
}
/**
* Sets the dataset index that the current crosshair values relate to.
*
* @param index the dataset index.
*
* @see #getDatasetIndex()
*
* @since 1.0.11
*/
public void setDatasetIndex(int index) {
this.datasetIndex = index;
}
/**
* Returns the domain axis index for the crosshair x-value.
*
* @return The domain axis index.
*
* @since 1.0.4
*
* @deprecated As of version 1.0.11, the domain axis should be determined
* using the dataset index.
*/
public int getDomainAxisIndex() {
return this.domainAxisIndex;
}
/**
* Returns the range axis index for the crosshair y-value.
*
* @return The range axis index.
*
* @since 1.0.4
*
* @deprecated As of version 1.0.11, the domain axis should be determined
* using the dataset index.
*/
public int getRangeAxisIndex() {
return this.rangeAxisIndex;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -