63 lines
1.4 KiB
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);
|
|
}
|
|
} |