Компоненты
Swing/AWT
обычно должны иметь макет, прежде чем что-то добавлять к ним, иначе UI
не будет знать, где размещать подкомпоненты.
BFreeman предложил BorderLayout
, который является одним из самых простых в использовании и позволяет вам «склеивать» вещи сверху, снизу, слева, справа или по центру родителя.
Существуют и другие, такие как FlowLayout
, который похож на textarea
- он добавляет компоненты слева направо вверху родительского элемента и переносится на новую строку, когда достигает конца.
GridBagLayout
, который всегда был печально известен тем, что его невозможно выяснить, но дает вам почти весь контроль, который вам необходим. Немного похоже на те HTML
таблицы, которые мы привыкли видеть со странными комбинациями атрибутов rowspan, colspan, width и height - которые никогда не выглядели совсем так, как вы хотели.