Я также был озадачен тем, как GroupLayout.DEFAULT_SIZE
и GroupLayout.PREFERRED_SIZE
используются в GroupLayout.SequentialGroup.addComponent(Component c, int min, int pref, int max)
, даже после ссылки на раздел GroupLayout Учебников по Java и статью java.net под названием Знакомство с GroupLayout, часть 1 .
Погружение в JDK 1.6.0_27 GroupLayout.javasource Я нашел ответы в классе ComponentSpring. Из этого я смог выработать следующие правила:
Если необходим минимальный размер:
- и предоставленное значение
min
является неотрицательным, это значение возвращается.
- иначе, если это
PREFERRED_SIZE
, мы следуем правилам для предпочтительного размера.
- иначе возвращается минимальный размер компонента.
Если необходим предпочтительный размер:
- и предоставленное значение
pref
является неотрицательным, это значение возвращается.
- иначе, если это
DEFAULT_SIZE
или PREFERRED_SIZE
, вернуть предпочтительный размер компонента.
Если требуется максимальный размер:
- и предоставленное значение
max
является неотрицательным, это значение возвращается.
- иначе, если это
PREFERRED_SIZE
, мы следуем правилам для предпочтительного размера.
- иначе возвращается максимальный размер компонента.
Как уже отмечал trashgod, определения являются отрицательными. Любое другое отрицательное значение для min, pref и max, кроме DEFAULT_SIZE
или PREFERRED_SIZE
, является ошибкой и подтверждением нажатия.
Взаимодействие между SequentialGroup.addComponent
min, pref и max размерами не было сразу видно из урока. Теперь я знаю, почему PREFERRED_SIZE,DEFAULT_SIZE,PREFERRED_SIZE
исправлено, почему не имеет значения, является ли средний аргумент DEFAULT_SIZE
или PREFERRED_SIZE
и как NetBeans генерирует значения фиксированного размера, такие как DEFAULT_SIZE,300,Short.MAX_VALUE
.