Manajemen
Layout (manajemen pemasangan komponen) diperlukan untuk mengatur penenmpatan
komponen di dalam frame agar bisa
menghasilkan bentuk interface yang menarik. Penggunaan layout manager dalam
menggunakan letak komponen juga akan memudahkan kita menempelkan komponen pada
frame. Java menyediakan sejumlah metode layout dalam mengatur penempelan
komponen ke dalam frame. Method setLayout()
digunakan untuk mengatur jenis metode yang digunakan pada saat pemasangan
komponen.
A. Metode FlowLayout
Metode FlowLayout menempatkan
komponen di frame berdasarkan urutan komponen-komponen tersebut ditempelkan ke
frame. Penyusunan dimulai dari kiri ke kanan dan dari atas ke bawah. Secara
default seluruh komponen yang ditambahkan dengan metode FlowLayout akan
ditampilkan dengan rata tengah, namun metode FlowLayout memiliki konstanta
LEFT, CENTER, dan RIGHT untuk mengatur perataan komponen yang diinginkan.
B. Metode GridLayout
Metode GridLayout akan membagi area
layar menjadi sejumlah tempat dalam bentuk matriks ukuran yang sama. Area layar
dibagi dalam format baris dan kolom. Setiap kali terjadi perubahan ukuran
frame, ukuran setiap komponen juga akan berubah. Pada prinsipnya yang
dipertahankan adalah jumlah baris dan kolom yang telah ditentukan.
C. Metode BorderLayout
Metode BorderLayout menggunakan
konsep arah mata angin dalam memasang komponen. Class BorderLayout menyediakan
lima konstanta yang menyatakan arah mata angin yaitu, NORTH, EAST, SOUTH, WEST
dan CENTER.
Jika salah satu tidak digunakan,
maka lokasi yang berdekatan akan menggunakan lokasi tersebut sebagai perluasan
dari wilayahnya. Metode ini tidak memperhatikan urutan pemasukan komponen.
D. Metode NoneLayout
Metode NoneLayout tidak cukup
fleksibel digunakan. Kita harus mengatur lokasi tiap objek titik demi titik.
Tiap objeknya ditentukan oleh koordinat didalam window. Jika dilihat dari hal
kerapian dan kebebasan mengatur tampilan sendiri, layout ini menempati
peringkat teratas dari semua alternatif layout.
LANGKAH-LANGKAH
PRAKTIKUM
A. Program CobaFlowLayout.java
import java.awt.*;
import javax.swing.*;
class FLayout extends JFrame {
JButton
tombolSave, tombolEdit, tombolDelete, tombolOpen;
public
FLayout() {
setTitle("FLOWLAYOUT");
tombolOpen
= new JButton("OPEN");
tombolOpen.setMnemonic('O');
tombolSave
= new JButton("SAVE");
tombolSave.setMnemonic('S');
tombolEdit
= new JButton("EDIT");
tombolEdit.setMnemonic('E');
tombolDelete
= new JButton("DELETE");
tombolDelete.setMnemonic('D');
setLayout(new
FlowLayout());
add(tombolOpen);
add(tombolSave);
add(tombolEdit);
add(tombolDelete);
pack();
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
}
public class CobaFlowLayout {
public
static void main (String[]args) {
FLayout
f = new FLayout();
}
}
Output :
B. Program CobaGridLayout.java
import java.awt.*;
import javax.swing.*;
class GLayout extends JFrame {
JButton
tombolSave, tombolEdit, tombolDelete, tombolOpen,
tombolCopy,
tombolPaste;
public
GLayout() {
setTitle("GRIDLAYOUT");
tombolOpen
= new JButton("OPEN");
tombolOpen.setMnemonic('O');
tombolSave
= new JButton("SAVE");
tombolSave.setMnemonic('S');
tombolEdit
= new JButton("EDIT");
tombolEdit.setMnemonic('E');
tombolDelete
= new JButton("DELETE");
tombolDelete.setMnemonic('D');
tombolCopy
= new JButton("COPY");
tombolCopy.setMnemonic('C');
tombolPaste
= new JButton("PASTE");
tombolPaste.setMnemonic('P');
setLayout(new
GridLayout(3,2));
add(tombolOpen);
add(tombolSave);
add(tombolEdit);
add(tombolDelete);
add(tombolCopy);
add(tombolPaste);
pack();
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
}
public class CobaGridLayout {
public
static void main (String[]args) {
GLayout
g = new GLayout();
}
}
Output :
C. Program CobaBorderLayout.java
import java.awt.*;
import javax.swing.*;
class BLayout extends JFrame {
JButton
tombolSave, tombolEdit, tombolDelete, tombolOpen;
JLabel
labelGambar;
public
BLayout() {
setTitle("Border
Layout");
tombolOpen
= new JButton("OPEN");
tombolOpen.setMnemonic('O');
tombolSave
= new JButton("SAVE");
tombolSave.setMnemonic('S');
tombolEdit
= new JButton("EDIT");
tombolEdit.setMnemonic('E');
tombolDelete
= new JButton("DELETE");
tombolDelete.setMnemonic('D');
labelGambar
= new JLabel(new ImageIcon("Image/Satu.jpg"));
setLayout(new
BorderLayout());
add(tombolOpen,
"North");
add(tombolSave,
"West");
add(labelGambar,
"Center");
add(tombolEdit,
"East");
add(tombolDelete,
"South");
setSize(400,300);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
}
public class CobaBorderLayout {
public
static void main (String[]args) {
BLayout
b = new BLayout();
}
}
Output :
D. Program CobaNullLayout.java
import java.awt.*;
import javax.swing.*;
class NLayout extends JFrame {
JButton
tombolSave, tombolEdit, tombolDelete, tombolOpen;
public
NLayout() {
setTitle("NONELAYOUT");
tombolOpen
= new JButton("OPEN");
tombolOpen.setMnemonic('O');
tombolSave
= new JButton("SAVE");
tombolSave.setMnemonic('S');
tombolEdit
= new JButton("EDIT");
tombolEdit.setMnemonic('E');
tombolDelete
= new JButton("DELETE");
tombolDelete.setMnemonic('D');
setLayout(null);
add(tombolOpen);
add(tombolSave);
add(tombolEdit);
add(tombolDelete);
tombolOpen.setBounds(10,10,150,20);
tombolSave.setBounds(150,15,150,20);
tombolEdit.setBounds(100,30,150,20);
tombolDelete.setBounds(40,50,150,20);
setSize(350,200);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
}
public class CobaNullLayout {
public
static void main (String[]args) {
NLayout
n = new NLayout();
}
}
Output :
E. Program FrameAWT.java
import
java.awt.*;
public class
frameAWT {
public static void main (String[]args)
{
Frame myFrame = new
Frame("Demo program AWT");
myFrame.setLayout(new
BorderLayout());
Label labelPil = new
Label("Tittle Pilihan Buah");
myFrame.add(labelPil,BorderLayout.NORTH);
Panel myPanel = new
Panel(new BorderLayout());
Label labelBuah = new
Label("Buah = ");
myPanel.add(labelBuah,
BorderLayout.WEST);
Choice myChoice = new
Choice();
myChoice.add("Mangga");
myChoice.add("Pisang");
myChoice.add("Jeruk");
myChoice.add("Apple");
myChoice.add("Anggur");
myChoice.add("Nangka");
myFrame.add(myPanel,
BorderLayout.SOUTH);
myFrame.setSize(300,200);
myPanel.add(myChoice,
BorderLayout.EAST);
myFrame.show();
}
}
Output :
F. Program objekGUI.java
import javax.swing.*;
class GUI extends JFrame {
JLabel
lNama = new JLabel("Nama Lengkap : ");
final
JTextField fNama = new JTextField(10);
JLabel
lJnsKlmn = new JLabel("Jenis Kelamin : ");
JRadioButton
rBPria = new JRadioButton("Laki-laki");
JRadioButton
rBWanita = new JRadioButton("Perempuan");
JLabel
lAgama = new JLabel("Agama : ");
String
[] NamaAgama = {"Islam", "Kristen", "Katolik",
"Hindu", "Budha"};
JComboBox
cMBAgama = new JComboBox(NamaAgama);
JLabel
lHobby = new JLabel("Hobby : ");
JCheckBox
cBSepakBola = new JCheckBox("SepakBola");
JCheckBox
cBBasket = new JCheckBox("Basket");
JButton
bTNSave = new JButton("OK");
public GUI() {
setTitle("Mencoba
kombinasi komponen GUI");
setDefaultCloseOperation(3);
setSize(350,200);
ButtonGroup
Group = new ButtonGroup();
Group.add(rBPria);
Group.add(rBWanita);
setLayout(null);
add(lNama);
add(fNama);
add(lJnsKlmn);
add(rBPria);
add(rBWanita);
add(lAgama);
add(cMBAgama);
add(lHobby);
add(cBSepakBola);
add(cBBasket);
add(bTNSave);
lNama.setBounds(10,10,120,20);
fNama.setBounds(130,10,150,20);
lJnsKlmn.setBounds(10,35,120,20);
rBPria.setBounds(130,35,100,20);
rBWanita.setBounds(230,35,100,20);
lAgama.setBounds(130,60,150,20);
cMBAgama.setBounds(130,60,100,20);
lHobby.setBounds(10,85,120,20);
cBSepakBola.setBounds(130,85,100,20);
cBBasket.setBounds(230,85,150,20);
bTNSave.setBounds(100,130,120,20);
fNama.setBounds(130,10,150,20);
setVisible(true);
}
}
class ObjekGUI {
public
static void main(String[]args) {
GUI
G = new GUI();
}
}