Selasa, 16 Oktober 2012

Jelaskan Dengan Lengkap Tentang FlowLayout, Lengkapi Dengan Contoh Class Java Yang Mengimplementasikan FlowLayout!!

Dalam artikel kali ini kita akan berbicara mengenai salah satu elemen GUI yaitu Layout Manager dan lebih spesifik lagi yaitu mengenai Flowlayout. Layout adalah bagaimana kita mengatur posisi atau tata letak komponen yang berada di dalam sebuah tampilan. Layout di dalam pemrograman java dapat kita atur melalui Java Container seperti JFrame , JDialog, atau JPanel.

Layout Manager menyusun komponen GUI di atas container.  Penggunaan Layout memberikan kemudahan dibandingkan jika kita membuat ukuran letak dan posisi setiap komponen secara manual. Pada Layout manager, komponen diletakkan dari kiri ke kanan lalu ke baris berikutnya dan peletakkan komponennya dapat diletakkan dengan rata kiri(left-aligned), di tengah (centered), atau juga rata kanan(right-aligned) dan secara defaultnya komponen akan berada ditengah.

FlowLayout Manager adalah sebuah default manager untuk Panel class beserta subkelasnya yang termasuk di dalam applet class. Flowlayout merupakan bagian dari layout manager turunan dari JFrame. FlowLayout merupakan layout manager pada java yang berfungsi untuk mengatur komponen GUI yang ada layaknya mengalir ke kiri, ke kanan, ke atas maupun ke bawah sesuai dengan alignment pengaturannya. Mengalir tersebut mempunyai maksud bahwa objek komponen GUI tersebut posisinya menyesuaikan dengan ukuran dari frame yang ada(hanya posisinya saja,sementara ukuran komponen tidak mengalami perubahan), FlowLayout cenderung menata komponen GUI secara otomatis. Dalam penggunaanya FlowLayout Manager memiliki tiga buah konstruktor untuk bekerja seperti yang disebutkan di bawah ini:
Tipe FlowLayout Constructor
Jenis Konstruktor (Deklarasi/penulisannya)
Fungsi/Kegunaan
FlowLayout ( )
Digunakan untuk membuat objek baru FlowLayout dengan posisi komponen default berada di tengah dan lima unit horizontal dan vertikal gap dimasukkan pada komponen sebagai default.
FlowLayout (int align)
Align diisi dengan nilai yang diperlukan.
Berfungsi untuk membuat objek baru FlowLayout dengan posisi spesifik dan lima unit horizontal dan vertikal gap dimasukkan pada komponen default.
FlowLayout (int align, int hgap, int vgap)
Align = diisi dengan nilai yg diperlukan sebagai batas.
hgap  = diisi dengan nilai untuk jarak horizontal
vgap  = diisi dengan nilai untuk jarak vertikal
Digunakan untuk membuat objek baru FlowLayout dengan argument pertama sebagai posisi pada komponen beserta hgap untuk nilai jarak horizontal dan vgap sebagai jarak vertical antar komponen yang telah ditentukan oleh kita sendiri.

Gap adalah satuan jarak antar komponen yang biasanya diukur dalam satuan pixel.
FlowLayout menyusun komponen dari kanan ke kiri dan selanjtunya ke baris berikutnya. Ukuran windows yang diperbesar tidak akan menyebabkan ukuran komponen-komponen yang ada di atas FlowLayout berubah. Untuk posisi penulisan align/ argument akan mengikuti perintah berikut ini:
  • FlowLayout.LEFT (digunakan untuk posisi komponen rata ke kiri).
  • FlowLayout.CENTER (digunakan untuk posisi komponen berada di tengah-tengah).
  • FlowLayout.RIGHT (digunakan untuk membuat posisi komponen rata kanan).
Berikut ini adalah contoh dari penggunaan FlowLayout :

A.  FlowLayout dengan align Right/rata kanan

Pada awal eksekusi program

Ketika program windownya diperbesar, terlihat bahwa komponen menjorok ke kanan.
 
Listing Programnya adalah:
import java.awt.*; //Mengimport package java.awt


public class Contohflow3 extends Frame { //mendeklarasikan class Contohflow3 sebagai turunan dari Frame
public static void main(String[] args){//kode agar program dapat dieksekusi

Contohflow3 ti02=new Contohflow3(); //menginisialisasi ti02 sebagai Contohflow3
ti02.setTitle("Demo Flow Layout"); //menamai judul frame
ti02.setSize(400,150); //ukuran panjang x lebar frame awal

ti02.setLayout(new FlowLayout(FlowLayout.RIGHT,15,15)); //perintah untuk memasukkan FlowLayout dengan alignya CENTER, hgap&vgapnya 15
ti02.add(new Button("CHANDRA")); //memasukkan button yg bertuliskan CHANDRA
ti02.add(new TextField("11.11.4742")); //Memasukkan Textfield dengan isian 11.11.4742
ti02.add(new Button("Farandi")); //memasukkan button yg bertuliskan Farandi
ti02.add(new TextField("11.11.4722"));//Memasukkan Textfield dengan isian 11.11.4722
ti02.add(new Button("Afuza"));//memasukkan button yg bertuliskan Afuza
ti02.add(new TextField("11.11.4713"));//Memasukkan Textfield dengan isian 11.11.4713
ti02.add(new Button("Adipa"));//memasukkan button yg bertuliskan Adipa
ti02.add(new TextField("11.11.4692"));//Memasukkan Textfield dengan isian 11.11.4692
ti02.setVisible(true);

}
}
   
B. FlowLayout dengan align Left/rata kiri


Program pada saat pertama kali dieksekusi

Setelah windownya diperbesar, terlihat bahwa komponen menjorok ke kiri

Listing Programnya adalah :

import java.awt.*; //Mengimport package java.awt


public class Contohflow3 extends Frame { //mendeklarasikan class Contohflow3 sebagai turunan dari Frame
public static void main(String[] args){//kode agar program dapat dieksekusi

Contohflow3 ti02=new Contohflow3(); //menginisialisasi ti02 sebagai Contohflow3
ti02.setTitle("Demo Flow Layout"); //menamai judul frame
ti02.setSize(400,150); //ukuran panjang x lebar frame awal

ti02.setLayout(new FlowLayout(FlowLayout.LEFT,15,15)); //perintah untuk memasukkan FlowLayout dengan alignya CENTER, hgap&vgapnya 15
ti02.add(new Button("CHANDRA")); //memasukkan button yg bertuliskan CHANDRA
ti02.add(new TextField("11.11.4742")); //Memasukkan Textfield dengan isian 11.11.4742
ti02.add(new Button("Farandi")); //memasukkan button yg bertuliskan Farandi
ti02.add(new TextField("11.11.4722"));//Memasukkan Textfield dengan isian 11.11.4722
ti02.add(new Button("Afuza"));//memasukkan button yg bertuliskan Afuza
ti02.add(new TextField("11.11.4713"));//Memasukkan Textfield dengan isian 11.11.4713
ti02.add(new Button("Adipa"));//memasukkan button yg bertuliskan Adipa
ti02.add(new TextField("11.11.4692"));//Memasukkan Textfield dengan isian 11.11.4692
ti02.setVisible(true);

}
}

C. FlowLayout dengan align Center/posisi komponen di tengah

Program pada saat pertama kali dieksekusi


Setelah windownya diperbesar, terlihat bahwa komponen berada ditengah

 
Listing Kodenya
import java.awt.*; //Mengimport package java.awt


public class Contohflow3 extends Frame { //mendeklarasikan class Contohflow3 sebagai turunan dari Frame
public static void main(String[] args){//kode agar program dapat dieksekusi

Contohflow3 ti02=new Contohflow3(); //menginisialisasi ti02 sebagai Contohflow3
ti02.setTitle("Demo Flow Layout"); //menamai judul frame
ti02.setSize(400,150); //ukuran panjang x lebar frame awal

ti02.setLayout(new FlowLayout(FlowLayout.CENTER,15,15)); //perintah untuk memasukkan FlowLayout dengan alignya CENTER, hgap&vgapnya 15
ti02.add(new Button("CHANDRA")); //memasukkan button yg bertuliskan CHANDRA
ti02.add(new TextField("11.11.4742")); //Memasukkan Textfield dengan isian 11.11.4742
ti02.add(new Button("Farandi")); //memasukkan button yg bertuliskan Farandi
ti02.add(new TextField("11.11.4722"));//Memasukkan Textfield dengan isian 11.11.4722
ti02.add(new Button("Afuza"));//memasukkan button yg bertuliskan Afuza
ti02.add(new TextField("11.11.4713"));//Memasukkan Textfield dengan isian 11.11.4713
ti02.add(new Button("Adipa"));//memasukkan button yg bertuliskan Adipa
ti02.add(new TextField("11.11.4692"));//Memasukkan Textfield dengan isian 11.11.4692
ti02.setVisible(true);

}
}



Dan selanjutnya adalah penerapan dengan beberapa fungsi lainnya yang sudah digabung dengan posisi arah East,South,West, dan North
\   


Listing programnya adalah sebagai berikut:
import java.awt.*;
import javax.swing.*;

public class FlowLayoutDemo {
JButton b1=new JButton("Ini 1");
JButton b2=new JButton("Batalkan 1");
JButton b3=new JButton("Coba 1");

JButton b4=new JButton("Ini 2");
JButton b5=new JButton("Batalkan 2");
JButton b6=new JButton("Coba2");

public FlowLayoutDemo() {
JFrame frame=new JFrame();
frame.setTitle("Demo Flow Layout ver tambahan");
frame.setSize(300,300);

//set agar window dapat di tutup
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//set border layout pada Frame
frame.setLayout(new BorderLayout());

//deklarasi panel dengan nama p
JPanel p=new JPanel();
//set layout pada p dengan FlowLayout.LEFT anda juga bisa

p.setLayout(new FlowLayout(FlowLayout.LEFT)); //menggunakan FlowLayout.Left
p.add(b1); //menambahakan button 1 ke panel p
p.add(b2); //menambahakan button 2 ke panel p
p.add(b3); //menambahakan button 3 ke panel p

frame.add(p,"North");

JPanel p2=new JPanel();
p2.setLayout(new FlowLayout(FlowLayout.RIGHT)); // atau FlowLayout.RIGHT
p2.add(b4); //menambahakan button 4 ke panel p2
p2.add(b5); //menambahakan button 5 ke panel p2
p2.add(b6); //menambahakan button 6 ke panel p2

frame.add(p2,"South");
frame.setVisible(true);
}


//fungsi utama sebagai pemanggil,,dapar juga diletakkan diatas dengan melakukan perubahan sedikit
public static void main(String args[]){
new FlowLayoutDemo();
}
}


Download Contoh File Java Klik Link Dibawah Ini :


Referensi:
JENI-Intro2-Bab07-Abstract-Windowing-Toolkit-dan-Swing
Pemprograman OOP

1 komentar: