Thursday, October 10, 2019

GUI Programming - Manajamen Layout

Manajemen Layout

Manajemen pemasangan komponen (manajemen layout) diperlukan untuk mengatur penempatan 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. Kita boleh mengkombinasikan beberapa metode agar pemasangan komponen menjadi lebih baik dan mudah. Method setLayout() digunakan untuk mengatur jenis metode yang digunakan pada saat pemasangan komponen.

1.      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. Dengan demikian urutan pemasukan komponen menjadi penting. 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. 

MEMBUAT PROGRAM CobaFlowLayout.java
Yang menjadi perintah dalam pembuatan flow layout adalah kode dari  ”setLayout(new FlowLayout());”

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();
}
}

Ketika kode program diatas di jalankan maka hasil dari kode program CobaFlowLayout.java tampak seperti pada gambar dibawah ini.


2.      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. Akibatnya setiap komponen akan memiliki ukuran yang sama, tidak peduli bagaimana ukuran sebenarnya. Setiap kali terjadi perubahan ukuran frame, ukuran setiap komponen juga akan berubah. Pada prinsipnya yang dipertahankan adalah jumlah baris dan kolom yang telah ditentukan.
MEMBUAT PROGRAM CobaGridLayout.java
Yang menjadi perintah dalam pembuatan grid layout adalah kode dari  ”setLayout(new GridLayout(3,2));” dimana 3,2 tersebut yang membuat grid 3 baris dan 2 kolom yang teknik penyusunannya dimulai dari kiri ke kanan dan dari atas kebawah.

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();
}
}

Ketika kode program diatas di jalankan maka hasil dari kode program CobaGridLayout.java tampak seperti pada gambar dibawah ini.



3.      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.

MEMBUAT 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");
tombolOpen.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();
}
}

Ketika kode program diatas di jalankan maka hasil dari kode program CobaBorderLayout.java tampak seperti pada gambar dibawah ini.



4.      Metode NoneLayout
Metode NoneLayout tidak cukup fleksibel digunakan. Oleh karena itu harus mengatur lokasi tiap objek titk demi titik. Tiap objeknya ditentukan oleh koordinat di dalam window. Jika dilihat dari hal kerapian dan kebebasan mengatur tampilan sendiri, layout ini menempati peringkat teratas dari semua alternatif layout.

MEMBUAT PROGRAM cobaNullLayout.java
Untuk null layout ini hasilnya akan tampak messy/tidak teratur dikarenakan perintah dari NullLayout dengan kode tombolOpen.setBounds(10,10,150,20);” yang artinya tombol open akan diletakkan sesuai dengan titik koordinatnya, dimana kolomnya diletakkan di titik 10 dari atas ke bawah lalu barisnya berada di titik 10 dari kiri ke kanan, lalu lebar komponenya sebesar 150 dan tinggi komponennya 20.

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();
}
}

Ketika kode program diatas di jalankan maka hasil dari kode program CobaNullLayout.java tampak seperti pada gambar dibawah ini.

No comments:

Post a Comment

Praktikum Pemrograman Berorientasi Objek Komponen GUI 2

KOMPONEN-KOMPONEN SWING LANJUTAN Swing merupakan alternatif lain untuk mengimplementasikan pemprograman Window. Walaupun diimplementasik...