Bab 8: MANAJEMEN LAYOUT



MANAJEMEN LAYOUT

Tujuan :
1.       Agar mahasiswa memahami dan mempratekan penggunaan jens-jenis layout dari java AWT dan java Swing. 
2.       Agar mahasiswa memhami perbedaan jenis-jenis layaout dari java AWT dan java Swing.




Dasar Teori

                Manajemen pemasang komponen  (manajemen layout) diperlukan untuk mengatur penempatan komponen didalam frame agar bias menghasilkan bentuk interface yang menarik. Penggunaan layout manager dalam menggunakan letak komponen juga akan memudahkan kita menempelan komponen ke dalam frame. Kita boleh mengkombinasikan beberapa metode agar pemasang komponen menjadi lebih baik dan mudah. Method setLayout() digunakan untuk mengatur jenis metode yang digunakan pada saaat pemasangan komponen.

A.      Metode Flow Layout

       Metode flow layout menempatkan komponen di frame berdasarkan urutan komponen –komponen tesebut ditempelkan ke frame. Penyusuanan dimana dari kiri ke kanan dandari 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.

B.      Metode GridLayout

       Metode GridLayout akan membagikan area layar menjadi sejumlah tempat dalam bentuk matriks ukuran yang sama. Area layar dibagi dalam format baris dan kolom. Akibatnya setiap komponen akan memilii ukuran yang sama, tidak peduli bagaimana ukuran sebenarnya. Setiap kali terjadi perubahan ukuran 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 angina, yaitu NORTH, EAST, SOUTH, WEST dan CENTER.

Jika salah satu tidak digunakan, maka lokasi yang bedekatan akan menggunakan lokasi tersebut sebagai perluasan dari wilayahnya. Metode ini tidak mempratikan ukuran  pemaksukan komponen.

D.      Metode NoneLayout

        Motode NoneLayout tidak cukup fleksibel digunkan. Oleh karena itu harus mengatur lokasi tiap objek titik 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 alternative layaut.


LANGKAH - LANGKAH PRATIKUM

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


       OUTPUTNYA

B.      Membuat 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();

}
}

       OUTPUTNYA


C.      Membuat Program cobaBorderLayout.java




       OUTPUTNYA




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

           OUTPUTNYA




E.       Membuat 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("Title 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();
  }
 }

      OUTPUTNYA




F.       Membuat 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", "Buddha"
 };
 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,120,20);
  lAgama.setBounds(10,60,150,20);
  cMBAgama.setBounds(130,60,120,20);
  lHobby.setBounds(10,85,120,20);
  cBSepakBola.setBounds(130,85,100,20);
  cBBasket.setBounds(230,85,150,20);
  bTNSave.setBounds(10,130,120,20);
  fNama.setBounds(130,10,150,20);
  setVisible(true);
 }
}

class ObjekGUI {
 public static void main(String []args) {
  GUI G = new GUI();
 }
}

        OUTPUTNYA





G.   Tugas

import javax.swing.*;
import java.awt.*;class TES extends JFrame {

JButton tombol1, tombol2, tombol3, tombol4, tombol5, tombol6, tombol7, tombol8, tombol9, tombol10, tombol11, tombol12;

JLabel Label1, Label2, Label3;
JPanel    panelLabel, panel1, panel2, panel3;

 public TES () {

  setTitle ("MULTI LAYOUT");
  panelLabel = new JPanel (null);
  Label1 = new JLabel ("Flow Layout");
  Label2 = new JLabel ("None Layout");
  Label3 = new JLabel ("None Layout");

  panel1 = new JPanel (new FlowLayout());

  tombol1 = new JButton ("1");
  tombol2 = new JButton ("2");
  tombol3 = new JButton ("3");
  tombol4 = new JButton ("4");

  panel2 = new JPanel (null);

  tombol5 = new JButton ("5");
  tombol6 = new JButton ("6");
  tombol7 = new JButton ("7");
  tombol8 = new JButton ("8");

  Label3 = new JLabel ("Grid Layout");

  panel3 = new JPanel (new GridLayout(2,2));
  tombol9 = new JButton ("9");
  tombol10 = new JButton ("10");
  tombol11 = new JButton ("11");
  tombol12 = new JButton ("12");

  setLayout (new BorderLayout());

  add (Label1, "North");
  add (Label2);
  add (Label3);
  add (panel1,"West");
  panel1.add (tombol1);
  panel1.add (tombol2);
  panel1.add (tombol3);
  panel1.add (tombol4);
  add (panel2, "Center");
  panel2.add (tombol5);
  panel2.add (tombol6);
  panel2.add (tombol7);
  panel2.add (tombol8);
  add (panel3, "East");
  panel3.add (tombol9);
  panel3.add (tombol10);
  panel3.add (tombol11);
  panel3.add (tombol12);

  Label2.setBounds(225,-5,80,25);

  Label3.setBounds(345,-5,80,25);
  tombol5.setBounds(30,15,80,25);
  tombol6.setBounds(30,40,80,25);
  tombol7.setBounds(30,65,80,25);
  tombol8.setBounds(30,90,80,25);

  setSize(450,170);

  setVisible(true);
  setResizable(false);
  setLocation(450,300);
  setDefaultCloseOperation(3);
 }
}

class Tugas {

public static void main (String[]args) {
TES T = new TES();
 }
}

      OUTPUTNYA:

Komentar

Postingan populer dari blog ini

Bab 3: INFORMATION HIDING, INHERITANCE, ENCAPSULATION DAN POLYMORPHISM