Как я могу получить размеры GridBagLayout?

1

Я делаю калькулятор. Я использовал GridBagLayout для упорядочивания кнопок, и пока это выглядит так:

Изображение 174551

Я пытаюсь найти точный размер сетки, поэтому я могу установить размер JFrame для его соответствия. В API GridBagLayout я нашел три метода: maximumLayoutSize, minimumLayoutSize и preferredLayoutSize. Я попробовал все три и установил JFrame для каждого размера, чтобы посмотреть, как они работают:

Когда я посмотрел на размеры, возвращаемые maximumLayoutSize, они были огромными (миллионы и миллиарды).

Когда я использовал размеры, возвращаемые minimumLayoutSize, я получил width = 151, height = 150, который выглядит так:

Изображение 174551

Когда я использовал размеры, возвращенные preferredLayoutSize, я получил width = 220, height = 180, который выглядит так:

Изображение 174551

Вместо этого я хочу размеры GridBagLayout, когда он выглядит нормально, как на первом снимке. Как я могу получить эти измерения?

Теги:
layout
swing
gridbaglayout

1 ответ

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

Call, JFrame#pack, он упакует кадр, основываясь на потребностях декодирования кадров и предпочтительном размере содержимого фреймов.

  • 0
    Можно ли пропустить frame.setSize (width, height), если я включу frame.pack ()?
  • 0
    @ mathguy54 Безусловно, вам очень редко нужно вызывать setSize для окна ...
Показать ещё 2 комментария

Ещё вопросы

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