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 ImageStorage
példány.
*
* @see ImageStorage
*/
private static ImageStorage storage;
/**
* Egy új ImageStorage
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 storage
-ből kiválasztott kért kép
* @see BufferedImage
*/
@Override
public BufferedImage getImage() {
return storage.getImage(filename);
}
}