Layouthanterare är objekt som kontrollerar storlek och placering för komponenter i en behållare.
För vissa Java-bönor tillåts inbördes relationer. Till exempel tillåts för klassen java.awt.Container att förekomster av java.awt.Component läggs till den som en del av dess komponentrelationer. Ett exempel på java.awt.Container är en ruta eller ram. Ett exempel på java.awt.Component är en knapp eller textruta. För SWT-klassen org.eclipse.swt.widgets.Composite tillåts att förekomster av org.eclipse.swt.widgets.Control läggs till som en del av dess kontrollrelationer. I den visuella redigeraren för Java visas inneslutningsrelationer i vyn Java-bönor och designvyn. Med andra ord kan behållare innehålla komponenter eller andra behållare.
En layouthanterare är ett objekt som kontrollerar storlek och placering för komponenter i en behållare. Du kan ange layouthanteraren för en behållare som null och tillåta att varje komponent ställer in egen storlek och placering. I en null-layout påverkas dock inte placeringen av komponenter i det grafiska användargränssnittet av att storleken på fönstret ändras. Med en layouthanterare delegeras inställningen för storlek och placering till komponenterna för behållaren i stället för att fast storlek och placering används för komponenterna.
Det går att ange layoutegenskapen för behållare i egenskapsvyn:
Varje layouthanterare har egna regler för distribution av komponenter men med de flesta layouthanterare placeras komponenter så att de åtminstone är lika stora som den rekommenderade storleken. Den rekommenderade storleken för komponenter med strängar som visas för användare, till exempel en knapp eller etikett, beräknas dynamiskt. På så sätt ändras placeringen för komponenterna när stränglängden förändras beroende på språk och teckensnitt. Om en användare ändrar storleken på ett fönster under körning ändras placeringarna för komponenterna så att de optimeras för den nya storleken. Det här gör layouthanterare till en ovärderlig hjälp vid utveckling av användargränssnitt som ska utplaceras i en miljö där etikettsträngar, teckensnitt eller fönsterstorlek kan ändras (beroende på lokalisering till exempel).
I Swing- och AWT-behållare (Abstract Windows Toolkit) används samma uppsättning layouthanterare, som i de flesta fall är AWT-objekt. I SWT-sammansättningar (Standard Widget Toolkit) används egna SWT-layouthanterare.