1

我正在使用 JFreeChart 绘制 XYPlot。我目前正在尝试做的事情:

  1. 用户点击绘图,应用程序将返回所选点的坐标;我认为我做对了。这是一些代码:

        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);}       
    
  2. 我需要确定用户是否点击了该行。目标是标记单击的点,如果它在绘制的图形上。

我会很感激任何线索。

4

2 回答 2

1

不要使用坐标,而是添加一个,ChartMouseListener如下所示您可以检查ChartMouseEvent和任何对应ChartEntity的各种详细信息。

于 2012-04-14T19:07:49.717 回答
0
ShapeUtilities.intersects(java.awt.geom.Rectangle2D rect1, java.awt.geom.Rectangle2D rect2) 

其中 rect2 可以是“0”矩形(对于您的点)。

于 2012-09-27T01:50:09.683 回答