Java dasturlash tilida foydalanuvchi interfeysi elementlarini panel yoki frameda joylashtirish usullarini joylashuv menedjerlari orqali belgilnadi.
Panelda elementlar avtomatik ravishda flow layout joylashuv menedjeri orqali joylashtiriladi. Ushbu menedjer elementlarni bir qatorga ketma-ket, o’rtaga tekislab joylashtiriladi. Agar elementlar bir qatorga sig’masa, sig’magan elementlar ikkinchi qatorga o’tkaziladi.
Flow layout joylashuv menedjerining standart xolati Joylashuv menedjeri panelning setLayout() metodi orqali belgilanadi. Flow layout joylashuv menedjeri FlowLayout klassi yordamida yaratiladi. Panelda elementlar joylashuvini o’rtaga tekislashdan chapga tekislashga o’zgartirish uchun quyidagilarni bajarish kerak:
layout.setAlignment(FlowLayout.LEFT);
panel.setLayout(layout);
Natijada elementlar tekislanishi quyidagiga o’zgaradi.
Flow layout joylashuv menedjerining chapga biriktirilgan xolati Boshqa joylashuv menedjeri bu border layout joylashuv menedjeridir. Ushbu joylashuv menedjeri flow layout manager joylashuv menedjeridan farqli o’laroq elementlarni panelni ma’lum joylariga joylashtirish imkonini beradi. Border layout joylashuv menedjeri panelni besh qismga (north, south, west, east) bo’lib, elementlarni ushbu qismlarga joylashtirish imkonini beradi.
Border layout joylashuv menedjeri BorderLayout klassi tomonidan yaratiladi.
BorderLayout layout = new BorderLayout();
panel.setLayout(layout);
panel.add(button1, BorderLayout.SOUTH);
Border layout joylashuv menedjerining janubiy qismiga joylashtirilgan element Flow layout joylashuv menedjeridan farqli o’laroq border layout joylashuv menedjeri joylashtirgan elementlarni asil o’lchamlarini mavjud maydonni to’ldirish uchun o’zgartiradi. Interfeys elementlarini asl o’lchamlarini saqlab qolish uchun ushbu elementlarni flow layout joylashuv menedjeri boshqaruvidagi panelga joylashtirib, keyin ushbu panelni border layout joylashuv menedjeri boshqaruvidagi panelning ma’lum qismiga joylashtirilishi mumkin.
JPanel ichkiPanel = new JPanel();
ichkiPanel.add(button1);
panel.add(ichkiPanel);
Oldindan panelga joylashtirib olingan element Yana bir joylashuv menedjeri bu Grid layout joylashuv menedjeridir. Ushbu joylashtiruv menedjeri foydalanuvchi interfeysi elementlarini jadval sifatida qator va ustunlarga joylashtiradi. Jadval yacheykalari bir xil o’lchamga ega bo’ladi. Grid layout joylashuv menedjeri GridLayout klassi yordamida yaratiladi. Qator va ustunlar sonini klass konstruktori orqali berish mumkin. Border layout joylashuv menedjeri singari grid layout joylashuv menedjeri foydalanuvchi interfeysi elementlari o’lchamlarini mavjud joyni to’liq egallash uchun o’zgartiradi. Foydalanuvchi interfeysi elementlari o’lchamlarini saqlab qolish uchun ularni avval flow layout joylashuv menedjeri boshqaruvidagi panelga joylashtirish kerak.
GridLayout layout = new GridLayout(2, 2);
panel.setLayout(layout);
JPanel ichkiPanel1 = new JPanel();
JPanel ichkiPanel2 = new JPanel();
JPanel ichkiPanel3 = new JPanel();
JPanel ichkiPanel4 = new JPanel();
ichkiPanel1.add(button1);
ichkiPanel2.add(button2);
ichkiPanel3.add(button3);
ichkiPanel4.add(button4);
panel.add(ichkiPanel1);
panel.add(ichkiPanel2);
panel.add(ichkiPanel3);
panel.add(ichkiPanel4);
Grid layout joylashuv menedjeri Yuqoridagi barcha joylashuv menedjerlari java.awt o’ramiga tegishli klasslar yordamida yaratiladi. java.swing o’rami xam joylashuv menedjerlariga ega. Bularning bittasi Box layout joylashuv menedjeridir. Ushbu joylashuv menedjeri foydalanuvchi interfeys elementlarini vertikal qator yoki gorizontal ustunga joylashtirish imkonini beradi. Box layout joylashuv BoxLayout klassi tomonidan yaratiladi.
BoxLayout layout = new BoxLayout(panel, BoxLayout.Y_AXIS);
panel.setLayout(layout);
panel.add(button1);
panel.add(button2);