package com.jpii.navalbattle.pavo.gui.controls; import java.awt.Graphics2D; import java.awt.image.BufferedImage; import java.util.ArrayList; public class PImage extends Control { private static ArrayList<BufferedImage> imageStore = new ArrayList<BufferedImage>(); private int imageId = 0; /** * An image drawing class. * @param parent */ public PImage(Control parent) { super(parent); createBuffer(true); } public PImage(Control parent, int x, int y) { super(parent, x, y); createBuffer(true); } /** * Registers an image to the store. * @param image The image to register. * @return The index that the image is located at. */ public static int registerImage(BufferedImage image) { if(imageStore.contains(image)){ return imageStore.indexOf(image); } imageStore.add(image); return imageStore.size()-1; } public static void removeImage(int index) { imageStore.remove(index); } public void setImage(int index) { if (imageId != index) { imageId = index; paintUpdate(); } } protected BufferedImage retrieveImage(int index) { if (index >= imageStore.size() || index < 0) return null; return imageStore.get(index); } public void paint(Graphics2D g) { g.drawImage(retrieveImage(imageId),0,0,null); } public int getImageID(){ return imageId; } }