我正在使用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);}
我需要确定用户是否单击了该行。目标是标记单击点是否在绘制的图形上。
我将不胜感激。
最佳答案
代替使用坐标,而是添加ChartMouseListener
,如here所示。您可以检查ChartMouseEvent
以及任何相应的ChartEntity
以获得各种详细信息。