/*
Author: C.W. Johnson
johnson@dcs.gla.ac.uk
Last modified: 07/01/99
Creates a canvas and draws an image onto it. This is then
placed onto a scrollpane.
*/
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
public class ScrollPaneExample extends Applet{
private ImageCanvas anImageCanvas;
private ScrollPane aScrollPane;
boolean inAnApplet = true;
String imageFile = "cables.jpg";
Dimension preferredImageSize = new Dimension(450, 450);
// size of the canvas on which the image is drawn
//This method assumes this Applet is visible.
public void init() {
Image img;
Dimension dimension;
BorderLayout ImageBorderLayout = new BorderLayout();
if (inAnApplet) {
img = getImage(getCodeBase(), imageFile);
} else {
img = Toolkit.getDefaultToolkit().getImage(imageFile);
}
anImageCanvas = new ImageCanvas (img, preferredImageSize);
aScrollPane = new ScrollPane (ScrollPane.SCROLLBARS_ALWAYS);
aScrollPane.add(anImageCanvas, "Center");
dimension = this.getSize();
aScrollPane.setSize(dimension.width, dimension.height);
this.add(aScrollPane);
}//init
}
class ImageCanvas extends Canvas {
Image image;
ImageCanvas(Image img, Dimension prefSize) {
super();
image = img;
this.setSize(prefSize.width, prefSize.height);
}
public void paint(Graphics g) {
g.drawImage(image, 0, 0, getBackground(), this);
}
}