|
|
Java'da Component'lerin nereye nasıl konacağını belirleyen LayoutManager'lar vardır. Her Container'ın bir layout manager'ı bulunur. Bir Component'in, dikdörtgen olması nedeniyle ekranda x,y, width ve height gibi özellikleri bulunur. Layout manager'lar sayesinde her component için bu değerleri girmek gerekmez. Hangi bileşenin nerde görüneceğine layout manager'lar karar verir. Java'da çok sayıda layout manager bulunmaktadır. Aşağırakiler sadece birer örnektir.
En fazla kullanılan layout'lardan biri BorderLayout'tur. Component'leri North, South, East, West ve Center gibi konumlara koyabilir.
Göster Gizle Kopar Satır Gizle Satır Göster |
1 import java.awt.*; 2 public class BorderLayoutSample{ 3 public static void main(String[] args){ 4 Frame f=new Frame(); 5 Button e=new Button("Doğu"); 6 Button w=new Button("West"); 7 Button n=new Button("North"); 8 Button s=new Button("South"); 9 Label c=new Label("Center",Label.CENTER); 10 f.setLayout(new BorderLayout()); 11 f.add(e,BorderLayout.EAST); 12 f.add(w,BorderLayout.WEST); 13 f.add(n,BorderLayout.NORTH); 14 f.add(s,BorderLayout.SOUTH); 15 f.add(c,BorderLayout.CENTER); 16 f.setBounds(100,100,400,300); 17 f.setVisible(true); 18 } 19 20 }
Bu programın ekran görüntüsü şöyledir :
Bir başka layout da component'leri ızgara biçiminde sıralayan GridLayout'tur
Göster Gizle Kopar Satır Gizle Satır Göster |
1 import java.awt.*; 2 import java.awt.*; 3 public class GridLayoutSample{ 4 public static void main(String[] args){ 5 Frame f=new Frame(); 6 f.setLayout(new GridLayout(4,3)); 7 f.add(new Button("1")); 8 f.add(new Button("2")); 9 f.add(new Button("3")); 10 f.add(new Button("4")); 11 f.add(new Button("5")); 12 f.add(new Button("6")); 13 f.add(new Button("7")); 14 f.add(new Button("8")); 15 f.add(new Button("9")); 16 f.add(new Button("*")); 17 f.add(new Button("0")); 18 f.add(new Button("#")); 19 f.setBounds(100,100,400,300); 20 f.setVisible(true); 21 } 22 }
FlowLayout, component'leri soldan sağa doğru sırayla koyar. Bir sıra bitince sol altından yeniden dizer.
Göster Gizle Kopar Satır Gizle Satır Göster |
1 import java.awt.*; 2 public class FlowLayoutSample{ 3 public static void main(String[] args){ 4 Frame f=new Frame(); 5 f.setBackground(SystemColor.control); 6 f.setLayout(new FlowLayout()); 7 f.add(new Button("Button")); 8 f.add(new TextArea("Area")); 9 f.add(new TextField("TextField")); 10 f.add(new Label("Label")); 11 f.add(new Checkbox("Checkbox")); 12 List list=new List(); 13 list.add("List Item 1"); 14 list.add("List Item 2"); 15 list.add("List Item 3"); 16 f.add(list); 17 f.setBounds(100,100,600,300); 18 f.setVisible(true); 19 } 20 21 }
Bu kod çalıştırıldığında ekrana geçecek pencere :
Diğer layout'ların basit yapısına karşın, GridBagLayout karmaşık düzenlemler için kullanılır. Bunun için GridBagConstraints class'ı ile, her componentin ayrı ayrı nasıl dizileceği belirlenebilmektedir.
CardLayoutCardLayout, bir group bileşenden bazıları görünürken bazılarının görünmemesini, gerektiğinde görünen bileşenlerin görünmez, görünmeyenlerin de görünür hala getirilmesini sağlar.
|
|