我JFreeChart
在 Java 中使用来绘制一个XYLineChart
包含 50+ x, y 点。该图表位于myChartPanel
的 1 中。JPanels
JFrame
我知道JFreeChart
已经内置了缩放功能,通过鼠标单击和拖动,它会放大/缩小并显示所选“拖动”区域下的点。
我想知道是否有任何方法可以让它返回点的 x、y 坐标,如果我们在按下CTRL、ALT或SHIFT键的同时进行缩放,即,如果用户单击图表上的一个点然后拖动鼠标,它应该像往常一样缩放。但是,如果用户点击一个点并在按下SHIFT或ALT或CTRL键的同时拖动,我们应该得到一个列表,其中包含图表上选择的所有点[拖动区域下方的点]。这可能吗 ?请让我知道如何去做。
我确实尝试添加一个简单MouseListener
的方法ChartPanel
来检测鼠标何时被按下和释放,但鼠标事件返回的 x、y 位置值对应于屏幕上单击的位置而不是实际的 x、y 坐标图表上的点。我需要用户单击并拖动鼠标的所有点的实际坐标,以便计算在哪个点之前按下并拖动鼠标以及释放鼠标的位置,并使用该信息选择拖动下方的多个点区域。
如果有人对此有任何想法,请告诉我。