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();
}
}
Tidak ada komentar:
Posting Komentar