Rabu, 19 Desember 2012

TUGAS JAVA

Membuat Frame pada semua jenis Layout

import java.awt.*;
import javax.swing.*;
class MacamLayout extends JFrame{
JButton N0,B1, B2, B3, B4,B5, B6, B7, B8, B9, B10, B11 ;
JLabel lNama,lNama2,lNama3;
JPanel P1,P2,P3;

public MacamLayout() {
setTitle("MULTI LAYOUT");

JLabel lNama= new JLabel("Flow Layout" );
JButton B0=new JButton ("0");

JButton B1=new JButton ("1");

JButton B2=new JButton ("2");

JButton B3=new JButton ("3");

JLabel lNama2= new JLabel("None Layout" );
JButton B4=new JButton ("4");

JButton B5=new JButton ("5");

JButton B6=new JButton ("6");

JButton B7=new JButton ("7");

JLabel lNama3= new JLabel("Grid Layout" );
JButton B8=new JButton ("8");

JButton B9=new JButton ("9");

JButton B10=new JButton ("10");

JButton B11=new JButton ("11");

P1 = new JPanel();
P2 = new JPanel();
P3 = new JPanel();

setLayout(null);
add(lNama);
add(lNama2);
add(lNama3);
add(P1);
add(P2);
add(P3);

lNama.setBounds(15,10,100,20);
lNama2.setBounds(220,10,100,20);
lNama3.setBounds(320,10,100,20);
P1.setBounds(5,30,200,40);
P2.setBounds(215,30,200,100);
P3.setBounds(320,30,200,150);


P1.setLayout(new FlowLayout());
P1.add(B0);
P1.add(B1);
P1.add(B2);
P1.add(B3);

P2.setLayout(null);
P2.add(B4);
P2.add(B5);
P2.add(B6);
P2.add(B7);

B4.setBounds(5,10,70,20);
B5.setBounds(5,30,70,20);
B6.setBounds(5,50,70,20);
B7.setBounds(5,70,70,20);

P3.setLayout(new GridLayout(2,2));
P3.add(B8);
P3.add(B9);
P3.add(B10);
P3.add(B11);
P3.setSize(100,100);


setSize(450,180);
setVisible(true);
setDefaultCloseOperation(3);
}
}
        public class TUGAS2 {
        public static void main(String[] args) {
        MacamLayout l= new MacamLayout();
        }
}

Output :
 

MANAJEMEN LAYOUT


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