我正在使用JFreeChart绘制XYPlot。我目前正在尝试做什么:
用户点击情节,应用程序会返回所选点的坐标;我认为我做对了。这是一些代码:
public void chartMouseClicked(ChartMouseEvent arg0) {
Rectangle2D plotArea = chPanel.getScreenDataArea();
XYPlot plot = (XYPlot) chart.getPlot();
double chartX = plot.getDomainAxis().java2DToValue(arg0.getTrigger().getPoint().getX(), plotArea, plot.getDomainAxisEdge());
double chartY = plot.getRangeAxis().java2DToValue(arg0.getTrigger().getPoint().getY(), plotArea, plot.getRangeAxisEdge());
JOptionPane.showMessageDialog(null, " x: "+chartX+ " y: "+chartY);}
我需要确定用户是否点击了该行。目标是标记点击的点,如果它在绘制的图形上。
我会很感激任何线索。
答案 0 :(得分:1)
不是使用坐标,而是添加ChartMouseListener
,如图所示here。您可以查看ChartMouseEvent
和任何相应的ChartEntity
以获取各种详细信息。
答案 1 :(得分:0)
ShapeUtilities.intersects(java.awt.geom.Rectangle2D rect1, java.awt.geom.Rectangle2D rect2)
其中rect2可以是“0”矩形(对于你的点)。