summaryrefslogtreecommitdiff
path: root/java/gjt/ComponentScroller.java
blob: 3aef71c4ea2c80801b6c06ddb4b2b4524e408a02 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
package gjt;

import java.awt.*;

/**
 * Scrolls any component.  Component to be scrolled may be a
 * container, so ultimately many components may be scrolled
 * at once.<p>
 *
 * Component to be scrolled may be specified at construction
 * time, or may be set after construction via 
 * void setComponent(Component).<p>
 *
 * @version 1.0, Apr 1 1996
 * @author  David Geary
 * @see     BulletinLayout
 * @see     Scroller
 * @see     ScrollerLayout
 * @see     ImageScroller
 * @see     gjt.test.ComponentScrollerTest
 */
public class ComponentScroller extends Scroller {
    private Component scrollMe;

    public ComponentScroller() {
    }
    public ComponentScroller(Component component) {
        setComponent(component);
    }
    public void setComponent(Component component) {
        scrollMe = component;
        viewport.setLayout(new BulletinLayout());
        viewport.add      (scrollMe);
        viewport.move     (0,0);
    }
    public void scrollTo(int x, int y) {
        scrollMe.move(-x,-y);
    }
    public Dimension getScrollAreaSize() {
        return scrollMe.preferredSize();
    }
}