но по какой-то причине ни один из JPanels не рисуется в моем окне
Не уверен, почему они оба не отображаются, но я знаю, почему левая панель не отображается.
Из того, что я могу вам сказать, вы используете JFrame.Менеджер по умолчанию для JFrame - BorderLayout.Вы пытаетесь добавить две панели к фрейму, используя:
add(leftPanel);
add(rightPanel);
Однако, когда вы добавляете компоненты в BorderLayout и не указываете ограничение, компонент добавляется в CENTER.Однако в CENTER можно добавить только один компонент, поэтому BorderLayout управляет только последним добавленным компонентом.
Мне нужен графический интерфейс, который разбивает окно на две секции
Поэтому вместо структурирования вашего кода на основе всей создаваемой панели я бы структурировал код на основе панелей, которые вы хотите добавить в фрейм.
Таким образом, код в вашем конструкторе будет выглядеть примерно так:
add(createLeftPane(), BorderLayout.LINE_START);
add(createCenterPanel(), BorderLayout.CENTER);
Итак, теперь на высоком уровне вы знаете, что добавляете две основные панели в рамку.
Тогда код может выглядеть примерно так:
private JPanel createLeftPanel()
{
JPanel panel = new JPanel();
panel.add( new JButton("Left Panel Button") );
return panel;
}
Вы быДобавьте аналогичный код для метода createCenterPanel()
.
Затем, когда у вас появятся две панели верхнего уровня, вы можете добавить свой реальный компонент к каждой панели, используя любой менеджер раскладки, который вы хотите использовать.
Дизайн формы должен быть итеративным.