diff --git a/src/tse/lr5/PaintPanelTask2.java b/src/tse/lr5/PaintPanelTask2.java index eb5f69a..407d172 100644 --- a/src/tse/lr5/PaintPanelTask2.java +++ b/src/tse/lr5/PaintPanelTask2.java @@ -1,6 +1,9 @@ package tse.lr5; import java.awt.Graphics; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; +import java.awt.event.MouseMotionAdapter; import tse.Util; /** @@ -11,6 +14,18 @@ public class PaintPanelTask2 extends PaintPanel implements Runnable { public PaintPanelTask2(int width, int height) { super(width, height); + addMouseListener(new MouseAdapter() { + @Override + public void mousePressed(MouseEvent evt) { + getControllablePaintable().setLocation(evt.getX(), evt.getY()); + } + }); + addMouseMotionListener(new MouseMotionAdapter() { + @Override + public void mouseDragged(MouseEvent evt) { + getControllablePaintable().setLocation(evt.getX(), evt.getY()); + } + }); } public void startRepainterThread() { @@ -50,4 +65,8 @@ public class PaintPanelTask2 extends PaintPanel implements Runnable { } } } + + private synchronized FileIconPaintable getControllablePaintable() { + return (FileIconPaintable) paintables.iterator().next(); + } }