Super díky moc, pořád sem nevěděl jak to udělat aby to plátno taky poznalo co chci kreslit. Nakonec je to nějak takhle:
volám metodu paint na plátně s atributama (Graphics, Elipsa, Obdelnik):
PRO ELIPSU:
platno.paint(platno.getGraphics(), new Elipsa(x, y), null);
PRO OBDELNIK:
platno.paint(platno.getGraphics(), null, new Obdelnik(x, y));
a Třída plátno tu metodu vykoná:
public void paint(Graphics g, Elipsa e, Obdelnik o) {
if (e == null) {
g.drawRect(o.x, o.y, o.width, o.height);
} else {
g.drawOval(e.x, e.y, e.width, e.height);
}
}
je to sice nejspíš špatně co se týče objektovýho modelování, pže kdybych měl spoustu jinejch tvarů tak by těch atributý bylo mraky, ale teď to funguje tak to neřešim. Asi by to šlo ošetřit tak, že bych měl třídu Shape a ta by řikala metodě paint co má kreslit.
Ale každopádně ti strašně děkuji