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); } }