summaryrefslogtreecommitdiff
path: root/java/gjt/ComponentScroller.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/gjt/ComponentScroller.java')
-rw-r--r--java/gjt/ComponentScroller.java42
1 files changed, 42 insertions, 0 deletions
diff --git a/java/gjt/ComponentScroller.java b/java/gjt/ComponentScroller.java
new file mode 100644
index 00000000000..3aef71c4ea2
--- /dev/null
+++ b/java/gjt/ComponentScroller.java
@@ -0,0 +1,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();
+ }
+}