home *** CD-ROM | disk | FTP | other *** search
/ MACD 4 / MACD4.iso / Internet / Java / ui / components / example / ImageScroller.class (.txt) < prev    next >
Encoding:
Java Class File  |  1978-03-06  |  2.8 KB  |  104 lines

  1. import java.applet.Applet;
  2. import java.awt.BorderLayout;
  3. import java.awt.Container;
  4. import java.awt.Dimension;
  5. import java.awt.Event;
  6. import java.awt.Graphics;
  7. import java.awt.Image;
  8. import java.awt.Scrollbar;
  9. import java.awt.Toolkit;
  10.  
  11. public class ImageScroller extends Applet {
  12.    Scrollbar vert;
  13.    Scrollbar horz;
  14.    ScrollableCanvas canvas;
  15.    boolean inAnApplet = true;
  16.    String imageFile = "../images/people.gif";
  17.    Dimension imageSize = new Dimension(600, 320);
  18.    Dimension preferredImageSize = new Dimension(300, 100);
  19.  
  20.    public void init() {
  21.       Image var1;
  22.       if (this.inAnApplet) {
  23.          var1 = ((Applet)this).getImage(((Applet)this).getCodeBase(), this.imageFile);
  24.       } else {
  25.          var1 = Toolkit.getDefaultToolkit().getImage(this.imageFile);
  26.       }
  27.  
  28.       this.canvas = new ScrollableCanvas(var1, this.preferredImageSize);
  29.       this.horz = new Scrollbar(0);
  30.       this.vert = new Scrollbar(1);
  31.       ((Container)this).setLayout(new BorderLayout());
  32.       ((Container)this).add("Center", this.canvas);
  33.       ((Container)this).add("East", this.vert);
  34.       ((Container)this).add("South", this.horz);
  35.       ((Container)this).validate();
  36.       this.resizeHorz();
  37.       this.resizeVert();
  38.    }
  39.  
  40.    public boolean handleEvent(Event var1) {
  41.       switch (var1.id) {
  42.          case 601:
  43.          case 602:
  44.          case 603:
  45.          case 604:
  46.          case 605:
  47.             if (var1.target == this.vert) {
  48.                this.canvas.ty = (Integer)var1.arg;
  49.                this.canvas.repaint();
  50.             }
  51.  
  52.             if (var1.target == this.horz) {
  53.                this.canvas.tx = (Integer)var1.arg;
  54.                this.canvas.repaint();
  55.             }
  56.          default:
  57.             return super.handleEvent(var1);
  58.       }
  59.    }
  60.  
  61.    void resizeHorz() {
  62.       int var1 = this.canvas.size().width;
  63.       if (var1 <= 0) {
  64.          System.out.println("Canvas has no width; can't resize scrollbar");
  65.       } else {
  66.          if (this.canvas.tx + var1 > this.imageSize.width) {
  67.             int var2 = this.imageSize.width - var1;
  68.             if (var2 < 0) {
  69.                var2 = 0;
  70.             }
  71.  
  72.             this.canvas.tx = var2;
  73.          }
  74.  
  75.          this.horz.setValues(this.canvas.tx, (int)((double)var1 * 0.9), 0, this.imageSize.width - var1);
  76.          this.horz.setPageIncrement((int)((double)var1 * 0.9));
  77.       }
  78.    }
  79.  
  80.    void resizeVert() {
  81.       int var1 = this.canvas.size().height;
  82.       if (var1 <= 0) {
  83.          System.out.println("Canvas has no height; can't resize scrollbar");
  84.       } else {
  85.          if (this.canvas.ty + var1 > this.imageSize.height) {
  86.             int var2 = this.imageSize.height - var1;
  87.             if (var2 < 0) {
  88.                var2 = 0;
  89.             }
  90.  
  91.             this.canvas.ty = var2;
  92.          }
  93.  
  94.          this.vert.setValues(this.canvas.ty, (int)((double)var1 * 0.9), 0, this.imageSize.height - var1);
  95.          this.vert.setPageIncrement((int)((double)var1 * 0.9));
  96.       }
  97.    }
  98.  
  99.    public void paint(Graphics var1) {
  100.       this.resizeHorz();
  101.       this.resizeVert();
  102.    }
  103. }
  104.