İçindekilerGirişİndex
YukarıİlkÖncekiSonrakiSon
Geriİleri
Yazdır

Layout'lar

Layout Manager'ları

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.

BorderLayout

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 :

GridLayout

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 }

Flow Layout

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 :

GridBagLayout

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.

CardLayout

CardLayout, 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.

Dosya Listesi

İçindekilerGirişİndex
YukarıİlkÖncekiSonrakiSon
Geriİleri
Yazdır