From 3efaf4b2f08b318855ad51de6863f90a0442a01a Mon Sep 17 00:00:00 2001 From: Victor Date: Mon, 2 Dec 2013 13:04:25 +0200 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B0=20=D0=BF=D0=B0=D0=BD=D0=B5=D0=BB=D1=8C=20=D0=B4?= =?UTF-8?q?=D0=BB=D1=8F=20=D0=B2=D1=8B=D0=B2=D0=BE=D0=B4=D0=B0=20=D0=B3?= =?UTF-8?q?=D1=80=D0=B0=D1=84=D0=B8=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/tse/lr5/PaintPanel.java | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 src/tse/lr5/PaintPanel.java diff --git a/src/tse/lr5/PaintPanel.java b/src/tse/lr5/PaintPanel.java new file mode 100644 index 0000000..0d6b22b --- /dev/null +++ b/src/tse/lr5/PaintPanel.java @@ -0,0 +1,37 @@ +package tse.lr5; + +import java.awt.Color; +import java.awt.Dimension; +import java.awt.Graphics; +import java.util.ArrayList; +import java.util.List; +import javax.swing.JPanel; + +/** + * Панель рисования. + * @author aNNiMON + */ +public class PaintPanel extends JPanel { + + private final List paintables; + + public PaintPanel(int width, int height) { + paintables = new ArrayList<>(); + + setBackground(Color.WHITE); + setPreferredSize(new Dimension(width, height)); + } + + public synchronized void addPaintable(PaintableObject obj) { + paintables.add(obj); + invalidate(); + } + + @Override + protected void paintComponent(Graphics g) { + super.paintComponent(g); + for (PaintableObject paintable : paintables) { + paintable.draw(g); + } + } +}