У меня есть JScrollPane, и поверх него у меня есть JPanel с именем 'panel1'.Я хочу, чтобы на этом JPanel были нарисованы некоторые прямоугольники.
У меня есть класс с именем DrawRectPanel, который расширяет JPanel и выполняет все операции рисования.Проблема в том, что я попытался нарисовать прямоугольники на панели 1, написав следующий код:
panel1.add(new DrawRectPanel());
, но ничего не появилось на панели 1, тогда я попытался, просто как тест для класса DrawRectPanel:
JFrame frame = new JFrame();
frame.setSize(1000, 500);
Container contentPane = frame.getContentPane();
contentPane.add(new DrawRectPanel());
frame.show();
Это сработало и произвело рисунки, но на отдельном JFrame. Как я могу нарисовать прямоугольники на панели1?Заранее спасибо.
РЕДАКТИРОВАТЬ: код для DrawRectPanel
public class DrawRectPanel extends JPanel {
DrawRectPanel() {
Dimension g = new Dimension(400,400);
this.setPreferredSize(g);
System.out.println("label 1");
}
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
System.out.println("label 2");
g.setColor(Color.red);
g.fillRect(20, 10, 80, 30);
}
}
только этикетка 1 печатается на экране