From dcb6c2159446135a142cad41eec185bb24c45bfb Mon Sep 17 00:00:00 2001 From: bjculkin Date: Wed, 11 Apr 2018 15:29:25 -0400 Subject: Split #9 into one class/file --- CSMath/src/bezier/CanvasRepainter.java | 40 ++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 CSMath/src/bezier/CanvasRepainter.java (limited to 'CSMath/src/bezier/CanvasRepainter.java') diff --git a/CSMath/src/bezier/CanvasRepainter.java b/CSMath/src/bezier/CanvasRepainter.java new file mode 100644 index 0000000..43c16e3 --- /dev/null +++ b/CSMath/src/bezier/CanvasRepainter.java @@ -0,0 +1,40 @@ +package bezier; + +import javax.swing.JComponent; +import javax.swing.event.ListDataEvent; +import javax.swing.event.ListDataListener; + +/** + * Listener to repaint a component whenever a list changes. + * + * @author bjculkin + * + */ +public class CanvasRepainter implements ListDataListener { + private final JComponent comp; + + /** + * Create a new repaint listener. + * + * @param canvas + * The component to repaint. + */ + public CanvasRepainter(JComponent canvas) { + this.comp = canvas; + } + + @Override + public void intervalRemoved(ListDataEvent e) { + comp.repaint(); + } + + @Override + public void intervalAdded(ListDataEvent e) { + comp.repaint(); + } + + @Override + public void contentsChanged(ListDataEvent e) { + comp.repaint(); + } +} \ No newline at end of file -- cgit v1.2.3