Есть ли таблица, документирующая, какие свойства игнорирует каждый макет Java (максимальный размер, минимальный размер и т. Д.)?
Многие из этих свойств указаны в javadocs для определенных классов. Например, поведение BorderLayouts определяется как:
BorderLayouts
Компоненты расположены в соответствии с их предпочтительными размерами и ограничениями размера контейнера. Компоненты NORTH и SOUTH могут быть растянуты по горизонтали; EAST и WEST компоненты могут быть растянуты по вертикали; CENTER компонент может растягиваться как по горизонтали, так и по вертикали, чтобы заполнить любое оставшееся пространство.
NORTH
SOUTH
EAST
WEST
CENTER
И FlowLayout указывает:
FlowLayout
Схема потока позволяет каждому компоненту принимать свой естественный (предпочтительный) размер.
GridLayout указывает в документации для конструктора:
GridLayout
Все компоненты в макете имеют одинаковый размер. [Как бы ни была велика сетка]
А BoxLayout Состояния:
BoxLayout
BoxLayout пытается расположить компоненты по их предпочтительной ширине (для горизонтального расположения) или высоте (для вертикального размещения). Для горизонтальной компоновки, если не все компоненты имеют одинаковую высоту, BoxLayout пытается сделать все компоненты такими же высокими, как самый высокий компонент. Если это невозможно для конкретного компонента, то BoxLayout выравнивает этот компонент по вертикали в соответствии с Y-выравниванием компонента. По умолчанию компонент имеет Y-выравнивание 0,5, что означает, что вертикальный центр компонента должен иметь ту же координату Y, что и вертикальные центры других компонентов с 0,5 Y-выравниванием. Аналогично, для вертикальной компоновки BoxLayout пытается сделать все компоненты в столбце такими же широкими, как и самый широкий компонент. Если это не удается, он выравнивает их по горизонтали в соответствии с их X-выравниванием. Для макета PAGE_AXIS горизонтальное выравнивание выполняется на основе переднего края компонента. Другими словами, значение выравнивания X, равное 0,0, означает левый край компонента, если ComponentOrientation контейнера слева направо, а в противном случае означает правый край компонента.
BoxLayout пытается расположить компоненты по их предпочтительной ширине (для горизонтального расположения) или высоте (для вертикального размещения). Для горизонтальной компоновки, если не все компоненты имеют одинаковую высоту, BoxLayout пытается сделать все компоненты такими же высокими, как самый высокий компонент. Если это невозможно для конкретного компонента, то BoxLayout выравнивает этот компонент по вертикали в соответствии с Y-выравниванием компонента. По умолчанию компонент имеет Y-выравнивание 0,5, что означает, что вертикальный центр компонента должен иметь ту же координату Y, что и вертикальные центры других компонентов с 0,5 Y-выравниванием.
Аналогично, для вертикальной компоновки BoxLayout пытается сделать все компоненты в столбце такими же широкими, как и самый широкий компонент. Если это не удается, он выравнивает их по горизонтали в соответствии с их X-выравниванием. Для макета PAGE_AXIS горизонтальное выравнивание выполняется на основе переднего края компонента. Другими словами, значение выравнивания X, равное 0,0, означает левый край компонента, если ComponentOrientation контейнера слева направо, а в противном случае означает правый край компонента.