Adesso xò ho un altro problema...sigh
ho esteso Graphics2D:
codice:
public class Graph extends Graphics2D {
private Graphics2D g;
public void drawArea(ImageArea area) {
ImageShape img;
Iterator<ImageShape> it = area.getShapes().iterator();
while (it.hasNext()) {
img = it.next();
g.setColor(img.getColor());
g.fill(img.getShape());
}
}
public void addRenderingHints(Map<?, ?> hints) {
g.addRenderingHints(hints);
}
public void clearRect(int x, int y, int width, int height) {
g.clearRect(x, y, width, height);
}
// ecc ecc...
come vedete ho implementato quell'unico nuovo metodo che mi interessava, cioè drawArea, mentre ho generato automaticamente tutti gli altri metodi!!
Ora quando vado a disegnare:
codice:
Graphics2D g2d = (Graphics2D) g;
((Graph) g2d).drawArea(new Gorilla(100, 100).toImage());
oppure anche solo:
codice:
((Graph) g).drawArea(new Figura(100, 100).toImage());
con g di tipo Graphics passato come parametro al metodo, mi solleva una ClassCastException!!
Perchè??