summaryrefslogtreecommitdiff
path: root/ao-tools/altosui/GrabNDrag.java
diff options
context:
space:
mode:
authorAnthony Towns <aj@erisian.com.au>2010-11-22 05:22:17 +1000
committerAnthony Towns <aj@erisian.com.au>2010-11-22 05:22:17 +1000
commitb85df38b5611e45cb9296df07b720badf74ac26e (patch)
tree8f4092433dbdfeeb23483301d99b15dc857ff4f5 /ao-tools/altosui/GrabNDrag.java
parent4a9ded5b39ed08e13abc2cddba8b712f62b983f2 (diff)
altosui: improve sitemap scrolling behaviour
Diffstat (limited to 'ao-tools/altosui/GrabNDrag.java')
-rw-r--r--ao-tools/altosui/GrabNDrag.java35
1 files changed, 19 insertions, 16 deletions
diff --git a/ao-tools/altosui/GrabNDrag.java b/ao-tools/altosui/GrabNDrag.java
index b44f3fe2..e6b87b58 100644
--- a/ao-tools/altosui/GrabNDrag.java
+++ b/ao-tools/altosui/GrabNDrag.java
@@ -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);
+ }
}