Добавление JPanel из другого класса - PullRequest
0 голосов
/ 30 декабря 2018

Я пытаюсь добавить простой JPanel из другого класса только с JButton и JTextArea в GUI.

Я использую IntelliJ IDEA для приложения Swing и ошибок нет.Однако JPanel просто не появляется / не отображается.

import javax.swing.*;
import java.awt.*;
import java.awt.event.ContainerAdapter;
import java.awt.event.ContainerEvent;

public class GUI {
private JPanel mainPanel;
private JPanel mainInner;


public GUI() {
    mainPanel.addContainerListener(new ContainerAdapter() {
        @Override
        public void componentAdded(ContainerEvent e) {
            super.componentAdded(e);
            System.out.println("component Added");
        }
    });
}

public void start() {
    JFrame frame = new JFrame("GUI");
    frame.setContentPane(new GUI().mainPanel);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setLayout(new BorderLayout());

    InnerPanel inner = new InnerPanel();
    mainInner = inner.getMainInner();

    inner.setLayout(new BorderLayout());
    mainPanel.setLayout(new BorderLayout());
    mainPanel.add(mainInner, BorderLayout.CENTER);

    mainPanel.revalidate();
    mainPanel.repaint();
    frame.pack();
    frame.setVisible(true);
}
}

Слушатель компонента показывает, что компонент был добавлен, но не отображается.

1 Ответ

0 голосов
/ 30 декабря 2018

Вы забыли добавить mainPanel к frame:

frame.add(mainPanel);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...