====== Layout managery v Javě ====== ===== FlowLayout ===== {{courses:a0b36pr2:tutorials:03:layout:flow.jpg|flow layout}} Zřejmě nejjednodušší layout manager. Komponenty rozmísťuje v pořadí, v jakém jsme je vložili do řádky. Výška řádky je odvozena od nejvyšší komponenty. ===== BorderLayout ===== {{courses:a0b36pr2:tutorials:03:layout:border.jpg|border layout}} Tento layout manager je schopný umístit pouze pět komponent Tentokrát však umístění nezáleží na pořadí, v jakém jsme komponenty vkládali, ale používá svůj způsob "světových stran". K dispozici je pět konstant NORTH, SOUTH, WEST, EAST a CENTER. Vkládané komponenty zvětší tak, že severní a jižní komponentu roztáhne na maximální šířku(výšku však ponechá nezměněnou). Západní a východní komponenty roztáhne do výšky, ale nezmění jejich šířku a zbylý prostor "uprostřed" vyplní poslední komponentou. Mezeru mezi komponenty můžeme určit hned na začátku, neboť konstruktor vypadá takto: BorderLayout(int horizontalnimezera, int vertikalnimezerea). ===== Grid Layout ===== {{courses:a0b36pr2:tutorials:03:layout:grid.jpg|grid layout}} Velmi jednoduchý layout manager, který naše komponenty rozmísťuje do předdefinované mřížky. Na další řádek přejde pouze v případě, že jsme vyplnili všechny sloupce na řádku předchozím. ===== Card Layout ===== {{courses:a0b36pr2:tutorials:03:layout:card1.jpg|card layout}} {{courses:a0b36pr2:tutorials:03:layout:card2.jpg|card layout}} Velmi zvláštní layout manager. Má komponenty uspořádané do bloků a vždy je viditelný pouze jeden z nich. Velmi se podobá tzv, kartám(záložkám) použité ve složitých dialogových boxech. ===== GridBag Layout ===== {{courses:a0b36pr2:tutorials:03:layout:gridbag.jpg|gridbag layout}} Tento manager využívá tzv. strukturu tabulky, kde každá komponenta může zabírat i několik řádek a sloupců. Dále obsahuje možnost roztažení vybraných řádek a sloupců, pokud tak neučiníme, je tu také možnost nastavit pro každou komponentu její velikost, okraje, roztažitelnost a umístění v rámci. S tímto layout managerem bývají největší problémy. Vhodnější je použít techniku kombinování několika panelů s využitím různých layout managerů.