Мой вопрос в том, как я могу указать размер деталей на моем макете?
Мне нужно как-то установить размер «частей», не используя preferedSize, может быть, в менеджерах компоновки, не имеет значения, где - только мне нужен стабильный размер.Макеты в java Swing с указанием размера
Я хочу создать макет для игры. Я уже создал один, но у меня проблема с размером компонентов. Поэтому я подумал, что было бы лучше сделать лучшую концепцию моего макета.
Давайте посмотрим на мой проект.
+-----------+ | UPPER | +-----+-----+ | A | | +-----+ C | | B | | +-----+-----+ | Footer | +-----------+ A+B+C make together Center.
Основная часть состоит из этого дерева частей:
прописные будет меню.
Center - это состоит из 3-х частей A, B, C
Footer - там будет строка состояния
Моя идея заключается в том, чтобы иметь возможность установить размер каждого компонента. Вся макет зависит от части C, она может иметь размер 450x450 px или 600x600 px.
Для части A и B мне нужно указать только ширину, потому что будет только некоторая текстовая информация - она должна быть около 300 px.
Я попытался использовать GridBagLayout для центральной части, но setSize для C не работал хорошо.
Я делаю детали в контейнерах (java.awt.Container) - в них я добавляю содержимое каждой части, а затем добавляю Контейнер на верхний уровень.
Вы не должны установить размер компонентов. Компоненты должны знать свой предпочтительный размер и возвращать его при вызове getPreferredSize(). Большинство макетов используют предпочтительный размер компонентов для их выкладки соответственно. –
Хорошо, я выяснил, что это работа менеджеров макетов ... Я не хочу устанавливать предпочтительный размер компонента. Могу ли я установить размер компонента в Менеджере макетов (менеджерах) строго? – user1097772
Вы не можете установить размеры элементов управления вручную, если только вы не полностью используете диспетчер компоновки и не делаете это * все * вручную. Боюсь, нет среднего пути. –