From 4372b7f46ca9df7ea2732ad0bbf82019580b0158 Mon Sep 17 00:00:00 2001 From: James Hart Date: Mon, 19 Oct 2020 22:53:46 -0400 Subject: [PATCH] Listener For Mouse Over On Chart Element --- .../xchart/internal/chartpart/ToolTips.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/xchart/src/main/java/org/knowm/xchart/internal/chartpart/ToolTips.java b/xchart/src/main/java/org/knowm/xchart/internal/chartpart/ToolTips.java index ddb1da042..9507c92d0 100644 --- a/xchart/src/main/java/org/knowm/xchart/internal/chartpart/ToolTips.java +++ b/xchart/src/main/java/org/knowm/xchart/internal/chartpart/ToolTips.java @@ -56,6 +56,7 @@ public void mouseDragged(MouseEvent e) { // ignore } + @Override public void mouseMoved(MouseEvent e) { @@ -89,6 +90,21 @@ else if (dataPoint != null) { dataPoint = null; e.getComponent().repaint(); // repaint the entire XChartPanel } + + /*This loop checks the X position of the mouse in the chart, and runs through + * the datapoints to determine if the user is hovering over anything. If so, + * a datapoints information can be displayed however a user sees fit. + * This could be built on in the future with a custom UI for the info + * + * chart.getStyler().setToolTipsEnabled(true); must be enabled in your chart. */ + for (DataPoint dataPoint : dataPointList) { + Integer result = Integer.compare((int) dataPoint.x, e.getX()); + if (result == 0) { + System.out.println(dataPoint.label); + //This is an execution point for when the mouse is over a datapoint. + } + } + } void prepare(Graphics2D g) {