Java Swing - Сохранение разумных размеров на разных экранах - PullRequest
0 голосов
/ 26 марта 2012

Я только что заполнил заявку на мой последний год проекта, и мне нужно создать интерфейс для него сейчас.Приложение не будет включать в себя множество разных экранов, только один вводный экран с простым учебным пособием и главный экран с 5 JPanel и JMenu.У меня есть каждая часть приложения, предоставляющая свой собственный JPanel, и графический интерфейс, который я собираюсь сделать, должен собрать все эти панели вместе и предоставить вступление.

Что я хочу спросить, так это как яможно правильно установить размеры разных компонентов, чтобы они отображались одинаково на разных размерах экрана (не очень близко друг к другу на маленьких экранах / большие пустые места на больших экранах)

Должен ли явручную установите их предпочтительный размер на основе некоторого процента размеров экрана (например, 20% * ширина, 40% * высота). Или есть какой-то другой способ сделать это?

Кроме того, для завершения требуется одна неделя.В этой части, было бы полезно попробовать какую-нибудь библиотеку, такую ​​как MigLayout?Я прочитал много, что проще в использовании, чем стандартный Swing.

ps

В JPanels входят деревья, textAreas, панель инструментов, кнопки, флажки, поля со списком и текстовые поля.Каждая из этих панелей довольно проста в изготовлении.

1 Ответ

0 голосов
/ 26 марта 2012

Ответ на этот тип вопроса в значительной степени зависит от приложения, просто потому, что «разумное» зависит от приложения и ожиданий пользователя, но ...

Если вы хотите, чтобы содержимое кадра определяло размер каждого кадра, вы можете просто вызвать frame.pack (), и соответствующий размер будет определен исходя из требований к размеру дочерних элементов кадра.

Однако, если имеет смысл разрешить размер экрана диктовать размеры кадра, вы можете использовать Toolkit.getScreenSize (), чтобы получить размер экрана и выполнить позиционирование в зависимости от того, что вы найдете.

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