У меня есть следующий код, и результат такой же, как на картинке (я не добавил повторяющуюся часть кода). Каким-то образом панель получает цвет, но ту часть, где разработан макет. Чего мне не хватает?
class Elements extends JPanel {
Elements() {
setLayout(new GridBagLayout());
GridBagConstraints c = new GridBagConstraints();
c.insets = new Insets(10, 10, 10, 10);
JLabel l1 = new JLabel("l1");
c.gridx = 0;
c.gridy = 0;
add(l1, c);
JLabel l2 = new JLabel("l2");
c.gridx = 0;
c.gridy = 1;
add(l2, c);
}
public class MyFrame extends JFrame {
public static void main(String[] args) {
JFrame frame = new JFrame("Simple Calc");
JPanel p = new JPanel();
Elements elements = new Elements();
frame.add(p);
p.add(elements);
frame.setSize(1000, 500);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
p.setBackground(Color.blue);