JFREECHART选择多个点-Mouse Drag -Lasso -Java



我在Java中使用JFreeChart绘制包含50 x,y点的XYLineChart。该图表在我的JFrameJPanels中的1个中的ChartPanel中。

我知道JFreeChart已经内置了Zoom功能,从而在鼠标上单击并拖动,它可以放大/输出并显示所选"拖动"区域下的点。

我想知道,如果我们在按下 ctrl alt shift 键,即,如果用户单击图表上的点然后拖动鼠标,则应照常缩放。但是,如果用户单击一个点并在按下 shift> shift alt ctrl 键时拖动,我们应该获取所有点的列表在图表上选择[拖动区域下方的点]。这可能吗 ?请让我知道该怎么做。

我确实尝试在ChartPanel中添加一个简单的MouseListener,以检测何时按下鼠标&释放,但鼠标事件返回的x,y位置值对应于单击屏幕上的位置&不适合图表上点的实际x,y坐标。我需要用户点击并拖动鼠标的所有点的实际坐标,以便计算到之前按下鼠标并拖动&释放鼠标并使用该信息在拖动区域下方选择多个点的位置。

如果有人对此有任何了解,请告诉我。

这是我在JFReechart论坛中给出的答案:

它在JFReechart 1.0.17中未实现,但是此功能已 在JFREECHART-FSE("未来状态版")项目中实施 github:

https://github.com/jfree/jfreechart-fse

尚未从此存储库中发布,但是您可以从 来源。欢迎反馈,我最近没有时间上班 在此方面,我想从此仓库中发布一些 未来几个月的时间(我的目标是在2014年拥有JFReechart 2.0)。 套索的选择来自我几年前写的一些代码 现在,但是来自knime.org的迈克尔·辛格尔(Michael Zinsmaier)做了很多工作 构建此问题和数据集选择状态。

我如何使用MouseListener

添加一个ChartMouseListener,如下所示。

JFreeChart之外,在此引用的示例中说明了使用套索的多个选择。在此处显示矩形。

相关内容

  • 没有找到相关文章