Kamis, 25 April 2019

MANAJEMEN LAYOUT

Pertemuan 8 :

Dasar Teori


Java menyediakan sejumlah metode layout dalam mengatur penempelan kompenen kedalam frame. Method setlayout() digunakan pada saat pemasangan kompenen.

     A. Metode FlowLayout
 Menempatkan komponen di frame, yang penyusunannya dimulai dari kiri ke kanan dan dari atas kebawah. Secara default, seluruh komponen akan ditampilkan dengan rata tengah,namun metode flowlayout memiliki konstanta LEFT,CENTER, dan RIGHT untuk mengatur perataan komponen yang di inginkan.

.    BMetode GridLayout
  Metode GridLayout akan membagi area layar menjadi sejumlah tempat dalam bentuk matriks ukuran yang sama. Area kayar dibagi dalam format baris dan kolom. Jadi setiap komponen memiliki ukuran yang sama. Namun setiap kal terjadi perubahan ukuran frame, maka komponennya juga akan berubah. Yang harus dipertahankan adalah jumlah baris dan kolom yang telah ditentukan.

.         C. Metode BorderLayout
      Class BorderLayout memiliki lima konstanta yang menyatakan arah mata angin, yaitu NORTH,EAST,SOUTH,WEST, dan CENTER.

        D. Metode NoneLayout
     Metode ini harus mengatur tap lokasi objek titik demi titik. Tiap objeknya ditentukan oleh koordinat didalam window.

LANGKAH-LANGKAH PRAKTIKUM

  • 1. 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();
    }
    Output:

    2. 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();
    }
    }
    Output :

      1. 3.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");
    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 :



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

    }
    Output :

      1. 5.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();
    }
    }
    Output :

        1. 6.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();
    }
    }
    Output :


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

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

    }
    Output :

    JAVA GUI

    Pertemuan 7:

    Dasar Teori

        Sun Microsytem,Inc selaku pengembang utama Java menyediakan banyak kelas yang dapat digunakan untuk mempermudah pembuatan aplikasi Java. Daftar kelas yang telah disediakan oleh Sun, lengkap beserta constructor, method dan cara penggunannya dapat dilihat pada dokumentasi Java. Dokumentasi Java ini akan sangat terasa kegunaanya ketika membuat aplikasi-aplikasi Java berbasis GUI (Graphic User Interface).
         Graphic User Interface (GUI) adalah suatu aplikasi dalam Java yang berbasis grafik. GUI membuat hasil dari suatu progam tampak menarik dan nyaman ketika digunakan oleh para user serta kemudahan penggunaan program.  Java menyediakan kelas untuk GUI,yaitu AWT (Abstract Windowing Toolkit),SWT(Standart Widget Toolkit)  dan Swing.

    A.  AWT (Abstract Windowing Toolkit) 
         AWT terdapat pada package java.awt berisi komponen-komponen GUI yang bersifat platform sistem operasi. Tampilan dari java. awt menyesuaikan dengan sistem operasi sehingga mengakibatkan dependensi sistem. Kelas yang terdapat pada package java. awt seperti button, label, window, frame, panel dan dialog. 

    B. SWT(Standart Widget Toolkit) 
         SWT terdapat pada package java.swt. Package java.swt berisi komponen-komponen GUI yang bersifat platform sistem operasi. Tampilan dari java.swt menyesuaikan dengan sistem operasi sehingga mengakibatkan dependensi sistem.Namun performa dari SWT ini hampir sama saperti swing.

    C. Swing
         Swing terdapat pada package javax.swing. Package javax.swing dapat diaplikasikan pada multiplatform sistem operasi. Implementasi Swing dalam program dapat menggunakan class yang sudah terdapat pada package pada package javax. swing yaitu JFrame, JDialog, JOption, JLabel.


    LANGKAH - LANGKAH PRAKTIKUM

    A. MEMBUAT PROGRAM cthAWT1.java
         import java.awt.*;l
          public class cthAWT1 {
             public static void main (String[] args)  {
                       Frame myFrame = new Frame("Contoh program AWT");
                      Label myLabel = new Label ("Selamat Belajar JAVA");
                      myFrame.add(myLabel);
                      myFrame. setSize(200,150);
                      myFrame.show();
          }
    }
      



    B. MEMBUAT PROGRAM cthAWT2. Java
         import java.awt*;
         class frameTurunan extends Frame {
              Label myLabel = new Label("Selamat Belajar JAVA! "));
          public frameTurunan(String judul)  {
                    setTitle(judul);
                    setSize(200,200);
                    add(myLabel);
                     show();

        }
    }

    public class cthAWT2 {
         public static void main(String[]args)  {
                   frameTurunan f = new frameTurunan("Ini Frame Turunan");
        }
    }


    C. MEMBUAT PROGRAM cthSwing1.java

    import javax. swing.*;
    public class cthSwing1 {
         public static void main(String[] args)  {
                   JFrame myFrame = new JFrame("Contoh program Swing");
                   JLabel myLabel = new JLabel("Selamat Belajar JAVA");
                   myFrame.add(myLabel);
                   myFrame.setSize(200,150);
                   myFrame.setVisible(true);
         myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
          }
    }




    D. MEMBUAT PROGRAM cthSwing2.java
         import javax.swing.*;
         class frameTurunan(String judul)  {
                 setTitle(judul);
                 setSize(200,200);
                 add(myLabel);
                 setVisible(true);
        }
    }

    public class cthSwing2 {
          public static void main(String[] args) {
                     frameTurunan f = new frameTurunan("Ini Frame Turunan");
        }
    }



    KOMPONEN - KOMPONEN SWING LANJUTAN

    Pertemuan 11 : Dasar Teori  Swing  merupakan alternatif lain untuk mengimplementasikan pemograman Wndows. Walaupun diimplementasikan ber...