diff --git a/src/tse/lr5/PaintPanel.java b/src/tse/lr5/PaintPanel.java index 0d6b22b..cd5c618 100644 --- a/src/tse/lr5/PaintPanel.java +++ b/src/tse/lr5/PaintPanel.java @@ -4,8 +4,10 @@ import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import javax.swing.JPanel; +import javax.swing.SwingUtilities; /** * Панель рисования. @@ -16,7 +18,7 @@ public class PaintPanel extends JPanel { private final List paintables; public PaintPanel(int width, int height) { - paintables = new ArrayList<>(); + paintables = Collections.synchronizedList(new ArrayList()); setBackground(Color.WHITE); setPreferredSize(new Dimension(width, height)); @@ -24,7 +26,13 @@ public class PaintPanel extends JPanel { public synchronized void addPaintable(PaintableObject obj) { paintables.add(obj); - invalidate(); + SwingUtilities.invokeLater(new Runnable() { + + @Override + public void run() { + repaint(); + } + }); } @Override