我在 Java 中使用 JFreeChart 绘制包含 50+ x, y 点的 XYLineChart。该图表位于 ChartPanel 中,它位于我的 JPanelsJFrame 1 中。

我知道 JFreeChart 已经内置了缩放功能,通过鼠标单击和拖动,它会放大/缩小并显示所选“拖动”区域下的点。

我想知道如果我们在按下 CTRL、ALT 或 SHIFT 键的同时进行缩放,是否有任何方法可以让它返回点的 x、y 坐标,即,如果用户单击图表上的一个点然后拖动鼠标,它应该像往常一样缩放。但是,如果用户在按下 SHIFT 或 ALT 或 CTRL 键的同时单击一个点并拖动,我们应该得到图表上所有选定点的列表[拖动区域下方的点]。这可能吗 ?请让我知道如何去做。

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

如果有人对此有任何想法,请告诉我。

最佳答案

这是我在 JFreeChart 论坛上给出的答案:

关于swing - JFreeChart选择多个点-鼠标拖动-套索-Java,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21257154/

10-13 07:17