cicaprojekt/cicaprojekt/AbstractDrawer.java

63 lines
1.4 KiB
Java

package cicaprojekt;
import java.awt.image.BufferedImage;
import java.io.IOException;
/**
* A különböző képek kirajzolásáért felelős osztály.
*/
public abstract class AbstractDrawer implements Drawer {
/**
* Egy <code>ImageStorage</code> példány.
*
* @see ImageStorage
*/
private static ImageStorage storage;
/**
* Egy új <code>ImageStorage</code> példányt próbál meg létrehozni.
*/
static {
try {
storage = new ImageStorage();
}
catch (IOException e) { }
}
/**
* Stringben eltárolva a kép neve, amelyet ki kell rajzolni.
*/
private String filename;
/**
* Az osztály konstruktora.
*
* @param path a kapott kép neve
* @throws IOException Ha nem található a kép.
*/
public AbstractDrawer(String path) throws IOException {
filename = path;
}
/**
* Egy kép megváltoztatása a kapott képre.
*
* @param path a kapott kép neve
* @throws IOException Ha nem található a kép.
*/
public void changeImage(String path) throws IOException {
filename = path;
}
/**
* A függvény a kért képpel tér vissza.
*
* @return a <code>storage</code>-ből kiválasztott kért kép
* @see BufferedImage
*/
@Override
public BufferedImage getImage() {
return storage.getImage(filename);
}
}