Два JPanels в одном JFrame - второй переопределяет первый

1

Я пытаюсь создать графический интерфейс, где я добавляю два JPanels в один JFrame, но второй JPanel, который я добавляю, переопределяет первый. В моем первом JPanel у меня есть блок sudoku, а во втором я хочу кнопку. Но, поскольку первый, который я добавляю, всегда переопределяет второе, это не работает.

Моя судоку JPanel использует GridLayout, и это само по себе работает отлично. Проблема в том, что я пытаюсь добавить второй JPanel (который имеет JButton). Поскольку кнопка должна быть другого размера, чем квадраты в окне sudoku, я не могу добавить эту кнопку в первый JPanel.

Можно ли разрешить это с помощью двух JPanels, или мне нужен другой макет? Я прочитал некоторые о GridBagLayout и думаю, что это может быть решение, но немного скучно изменить весь код для моего JPanel, в котором есть судоку.

Теги:
swing
jpanel
jframe
gridbaglayout

1 ответ

1
Лучший ответ

Вы можете просто создать еще один JPanel с соответствующим менеджером макетов и добавить в него две небольшие панели. Наличие панелей внутри панелей - хороший способ разбить ваш макет на менее сложные куски, сохраняя при этом лучший контроль над изменением размера и т.д.

  • 0
    Это сработало, но теперь вторая панель находится справа от первой. Я попытался установить первый в центре, а второй на юг (borderlayout), но это не сработало. Как мне получить дем ниже друг друга?
  • 0
    Так как вы делаете макет границы, пытались ли вы установить верхний на север, а нижний на юг? Возможно, вам лучше использовать сетку для панели верхнего уровня (1 столбец х 2 строки).
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню