Ett ritprogram med Undo-knapp

Denna lab ber er implementera ett enkelt ritprogram. Ritprogrammet ska ha en Undo-knapp som kan ta bort det man tidigare ritat.

Magnus Myreen, september 2016.

Filer

Ni får två filer:

Kör programmet med att köra main i Main.java.

Ni kommer att behöva flera klasser (och flera filer) för att implementera DrawProg klassen. Obs: varje fil måste ha raden

import java.awt.*;

bland imports där uppe för att vi använder oss av Graphics och Color.

Uppgift

Er uppgift är att implementera klassen DrawProg så att ritprogrammet har beteendet som demonstreras i följande video:

https://www.youtube.com/watch?v=Knxpr1ZTFYo

Här är delarna som er lösning ska bestå av:

OBS: Kom ihåg att testa halvfärdiga program! Det lönar sig speciellt att testa ritprogrammet innan DrawableStack och Undo-knappen är implementerade.

Frivillig extra uppgift

Denna extra uppgift behöver inte redovisas för handledare.

Ifall ni vill fortsätta med en frivillig extra uppgift kan ni implementera en Redo-knapp. För att få en Redo-knapp till user-interfacet ska ni byta raden

bpanel.add(b4);

till följande i Main.java:

bpanel.add(b4);
JButton b5 = new JButton("Redo");
b5.addActionListener(e -> { drawProg.redo(); panel.repaint(); });
bpanel.add(b5);

Ni bör då implementera en redo metod i DrawProg klassen och vill kanske ha nya metoder i DrawableStack. Koden för implementeringen av Redo-knappen behöver inte vara lång.