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
makasih penjelasannya.. :)
BalasHapus