From eebac54760c1d93548568967bd44953bba353eaa Mon Sep 17 00:00:00 2001 From: Daniel Schramm <xschramm@fi.muni.cz> Date: Sun, 10 Oct 2021 16:18:56 +0200 Subject: [PATCH] Slider mouse events redirected to the text field --- .../analyst/core/ControlPanelBuilder.java | 54 +++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/GUI/src/main/java/cz/fidentis/analyst/core/ControlPanelBuilder.java b/GUI/src/main/java/cz/fidentis/analyst/core/ControlPanelBuilder.java index 56a92405..ae69b514 100644 --- a/GUI/src/main/java/cz/fidentis/analyst/core/ControlPanelBuilder.java +++ b/GUI/src/main/java/cz/fidentis/analyst/core/ControlPanelBuilder.java @@ -7,6 +7,9 @@ import java.awt.GridBagLayout; import java.awt.Insets; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; +import java.awt.event.MouseWheelEvent; import java.math.RoundingMode; import java.text.DecimalFormat; import java.text.NumberFormat; @@ -462,6 +465,57 @@ public class ControlPanelBuilder { } inputField.postActionEvent(); // invoke textField action listener }); + slider.addMouseListener( + new MouseAdapter() { + @Override + public void mouseMoved(MouseEvent e) { + e.setSource(inputField); + inputField.dispatchEvent(e); + } + + @Override + public void mouseDragged(MouseEvent e) { + e.setSource(inputField); + inputField.dispatchEvent(e); + } + + @Override + public void mouseWheelMoved(MouseWheelEvent e) { + e.setSource(inputField); + inputField.dispatchEvent(e); + } + + @Override + public void mouseExited(MouseEvent e) { + e.setSource(inputField); + inputField.dispatchEvent(e); + } + + @Override + public void mouseEntered(MouseEvent e) { + e.setSource(inputField); + inputField.dispatchEvent(e); + } + + @Override + public void mouseReleased(MouseEvent e) { + e.setSource(inputField); + inputField.dispatchEvent(e); + } + + @Override + public void mousePressed(MouseEvent e) { + e.setSource(inputField); + inputField.dispatchEvent(e); + } + + @Override + public void mouseClicked(MouseEvent e) { + e.setSource(inputField); + inputField.dispatchEvent(e); + } + } + ); inputField.addActionListener((ActionEvent ae) -> { if (max == -1) { // percents in [0,1] -- GitLab