Почему использование нулевого макета в Swing не одобряется?

Недавно я начал создавать программу для компании, в которой работаю. Так же, как справочная информация, я все еще студент и начинающий программист, поэтому мое решение, вероятно, не рекомендуется, и я не знал, как это сделать иначе, но оно работает, и меня не будут судить за это, потому что это студенческая работа, совершенно не связанная с программированием.

Суть программы в том, что она будет запускаться на нескольких разных компьютерах с разными размерами экрана и разрешением (800x600 и выше). Чтобы убедиться, что он занимает как можно большую часть экрана без потери какой-либо части программы, я установил макет на null и жестко закодировал все, используя относительные значения.

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

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

Как вы, более опытные программисты, используете менеджеры компоновки в такой ситуации? И что вы делаете, если хотите, чтобы кнопка была где-то конкретным, а другие компоненты - где-то еще, что на самом деле не соответствует ни одному из предопределенных макетов?

13
задан Andrew Thompson 6 October 2014 в 13:03
поделиться