Java Swing'te LayOut Uygulamalari...

Birden fazla nesnenin form uzerinde gorunmesine layout manager sinifi ile yapiliriz.
Flowlayout ; nesneler normalde form uzerinde yan yana yerlestirilir. Form genisligi dolunca nesneler asagiya dogru kayarlar. Bu ozellikle bilrikte kullandigimiz properties'ler ise;
Alignmet : Nesneler nerden itibaren yerlesecegini belirtiriz.
Hgap ; horizantel nesneler arasinda yatayda ne kadar bosluk birakilacagini bildirir,
Vgap ; vertical nesneler arasinda dikeyde ne kadar bosluk birakacak belirtiriz...
Gridlayout : Formu satir ve sutunlara bolmeyi saglariz.
Rows ; satir sayisini belirler. Colmns sutun sayisini belirler. Ve Vgap - hgap olarak toplam dort tane deger alir.
Borderlayout ; frame i yada containeri asagi, yukari, sag, sol ve merkez olmak uzere 5 e boler... Nesneleri bu 5 bolgeye istedigimiz yere koyabiliriz... Class inda iki ozellik vardir onlarda vgap, mgap'tir... Jpanel birden fazla nesneyi bir arada tutmaya calisir.
Programin Kodlari ;
package guiprogramlama; import java.awt.BorderLayout; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.*; public class Main extends JFrame { public Main() { JPanel p1 = new JPanel(); p1.setLayout(new GridLayout(4,3)); for (int i = 1; i <= 9 ; i++) p1.add(new JButton(""+i)); p1.add(new JButton(""+0)); p1.add(new JButton("ON")); p1.add(new JButton("OFF")); JPanel p2 = new JPanel(new BorderLayout()); p2.add(new JTextField("sonuclar burada gorulecektir"),BorderLayout.NORTH); p2.add(p1,BorderLayout.CENTER); add(p2,BorderLayout.EAST); add(new JButton("deneme"), BorderLayout.CENTER); public static void main(String[] args) { Main frame = new Main(); frame.setTitle("merhaba"); frame.setSize(200,300); frame.setLocationRelativeTo(null); //ekranin tam ortasinda gozukur frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //program kapandiginda bellektende silinsin istiyoruz frame.setVisible(true); } }
Yorumlar