1 package net.sf.openrocket.gui.help.tours;
3 import java.awt.image.BufferedImage;
4 import java.io.IOException;
5 import java.lang.ref.SoftReference;
8 import javax.imageio.ImageIO;
11 * An individual slide in a guided tour. It contains a image (or reference to an
12 * image file) plus a text description (in HTML).
14 * @author Sampo Niskanen <sampo.niskanen@iki.fi>
18 private final String imageFile;
19 private SoftReference<BufferedImage> imageReference = null;
21 private final String text;
25 public Slide(String imageFile, String text) {
26 this.imageFile = imageFile;
32 public BufferedImage getImage() {
35 if (imageReference != null) {
36 BufferedImage image = imageReference.get();
42 // Otherwise load and cache
43 BufferedImage image = loadImage();
44 imageReference = new SoftReference<BufferedImage>(image);
49 public String getText() {
55 private BufferedImage loadImage() {
59 URL url = ClassLoader.getSystemResource(imageFile);
61 img = ImageIO.read(url);
66 } catch (IOException e) {