Лучшая практика для размещения компонентов SWING в полноэкранном приложении Java? - PullRequest
3 голосов
/ 25 июня 2011

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

Мне интересно, как лучше всего решить эту проблему при создании программ такого типа. Пока что я склоняюсь к использованию процентных соотношений относительно размера экрана и соответственно позиционирую свои компоненты.

Однако проблема, которую я предвижу, заключается в том, что если я захочу выделить часть экрана, скажем, JLabel, используя процентные значения, метка будет меньше на меньших экранах и строка с большим количеством буквы не будут отображаться полностью.

Решение тогда будет состоять в том, чтобы использовать FontMetrics для масштабирования текста в соответствии с размером меток / кнопок / и т. Д., Но я не знаю много о классе FontMetrics и всех вычислениях, которые мне нужно будет сделать, чтобы сделать текст нужного размера.

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

1 Ответ

4 голосов
/ 25 июня 2011

В принципе, вот для чего предназначены LayoutManager: http://download.oracle.com/javase/6/docs/api/java/awt/LayoutManager.html

Если ни один из параметров по умолчанию не соответствует вашим потребностям, то вам придется самостоятельно выполнять математику, чтобы выяснить, как оптимизировать размещение компонентов при разных разрешениях / форматах. (Это то, что, похоже, ты собираешься делать в любом случае.)

...