Я бы рекомендовал расширить JPanel
и переопределить его paintComponent()
метод.См. другой мой ответ для получения дополнительной информации по этому вопросу.
В основном, когда на вашей панели «нарисован» прямоугольник, вы захотите сохранить его как член Jpanel
,Затем в методе paintComponent
вы просто нарисуете все прямоугольники, которые вы сохранили в вашем JPanel
.
Вот как я бы реализовал метод рисования:
List<Rectangle> recs;
List<Stroke> strokes;
List<Color> colors;
public void drawRectangle(Rectangle newR, Stroke stroke, Color c){
recs.add(newR);
strokes.add(stroke);
colors.add(c);
}
И компонент краски будет выглядеть следующим образом:
protected void paintComponent(Graphics g){
super.paintComponent(g);
for (int i = 0; i < recs.size(); i ++) {
g.setColor(colors.get(i));
g.setStroke(strokes.get(i));
g.drawRectangle(recs);
}
}