altosui: improve sitemap scrolling behaviour
[fw/altos] / ao-tools / altosui / GrabNDrag.java
index b44f3fe2551712611b22e631d47debf59a4f84b0..e6b87b5832e82bbdec9ce236c27d2c97822bbfeb 100644 (file)
@@ -29,23 +29,26 @@ import java.util.*;
 import java.text.*;
 
 class GrabNDrag extends MouseInputAdapter {
-    private JComponent scroll;
-    private Point startPt = new Point();
+       private JComponent scroll;
+       private Point startPt = new Point();
 
-    public GrabNDrag(JComponent parent) {
-        scroll = parent;
-    }
+       public GrabNDrag(JComponent scroll) {
+               this.scroll = scroll;
+               scroll.addMouseMotionListener(this);
+               scroll.addMouseListener(this);
+               scroll.setAutoscrolls(true);
+       }
 
-    public void mousePressed(MouseEvent e) {
-        startPt.setLocation(e.getPoint());
-    }
-    public void mouseDragged(MouseEvent e) {
-        int xd = e.getX() - startPt.x;
-        int yd = e.getY() - startPt.y;
+       public void mousePressed(MouseEvent e) {
+               startPt.setLocation(e.getPoint());
+       }
+       public void mouseDragged(MouseEvent e) {
+               int xd = e.getX() - startPt.x;
+               int yd = e.getY() - startPt.y;
 
-        Rectangle r = scroll.getVisibleRect();
-        r.x -= xd;
-        r.y -= yd;
-        scroll.scrollRectToVisible(r);
-    }
+               Rectangle r = scroll.getVisibleRect();
+               r.x -= xd;
+               r.y -= yd;
+               scroll.scrollRectToVisible(r);
+       }
 }