检查点是否属于图

时间:2012-04-14 18:51:05

标签: java jfreechart

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

  3. 我会很感激任何线索。

2 个答案:

答案 0 :(得分:1)

不是使用坐标,而是添加ChartMouseListener,如图所示here。您可以查看ChartMouseEvent和任何相应的ChartEntity以获取各种详细信息。

答案 1 :(得分:0)

ShapeUtilities.intersects(java.awt.geom.Rectangle2D rect1, java.awt.geom.Rectangle2D rect2) 

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