Здравствуйте, у меня есть главное окно(MainFrame), где меню, таблица и т.д, и есть свободное место, куда размещено пустой JPANEL(MainDrawPanel), я хочу туда нарисовать фигуры.
У меня есть код, который я уже подготовил, но у меня получается рисовать только в новом окне, JFRAME:
public class MainFrame extends javax.swing.JFrame {
. . .
private void metName () {
class MyPanel extends JPanel {
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawString("Contours: " + contours.size(), 20, 20);
for (Contour c : contours) {
System.out.println(c.getArea());
int gg = rnd.nextInt(250);
int r = rnd.nextInt(250);
int B = rnd.nextInt(250);
g.setColor(new Color(0, 0, 0));
ListIterator<Point_dt> itr = c.points.listIterator();
Point_dt a = itr.next();//throws Exception if points size = 0
while (a != null && itr.hasNext()) {
Point_dt b = itr.next();
g.drawLine((int) a.x, (int) a.y, (int) b.x, (int) b.y);
//g.drawString("(" + a.x + ", " + a.y + ") ", (int)a.x, (int)a.y);
//g.drawString("(" + b.x + ", " + b.y + ") ", (int)b.x, (int)b.y);
g.fillOval((int) a.x, (int) a.y, 4, 4);
g.fillOval((int) b.x, (int) b.y, 4, 4);
a = b;
}
}
}
}
JFrame frame = new JFrame("Рисунок");
JPanel viewer = new MyPanel();
frame.getContentPane().add(viewer);
frame.setSize(new Dimension(900, 780));
frame.setVisible(true);
}
. . .
}
Этот код работает, но он рисует на отдельном окне, как мне заставить его работать в главном окне (MainFrame), на пустом JPANEL(mainDrawPanel) ?