Senin, 29 April 2019

PERTEMUAN 8 MANAJEMEN LAYOUT



DASAR TEORI
Manajemen pemasangan komponen (manajemen layout) diperlukan untuk mengatur penempatan komponen di dalam frame agar bisa menghasilkan bentuk interface yang menarik.
A.Metode FlowLayout
      Metode FlowLayout menempatkan komponen di frame berdasarkan urutan komponen-komponen tersebut ditempelkan ke frame.

B. Metode GridLayout
      Metode GridLayout akan membagi area layar menjadi sejumlah tempat dalam bentuk matriks ukuran yang sama.

C.Metode BorderLayout
      Metode BorderLayout menggunakan konsep arah mata angin dalam memasang komponen.

D.Metode NoneLayout
      Metode NoneLayout tidak cukup fleksibel digunakan. Oleh karena itu harus mengatur lokasi tiap objek titik demi titik.


Contoh Program

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:
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,120,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(100,130,120,20);
fNama.setBounds(130,10,150,20);
setVisible(true);
}
}

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


Output:

PERTEMUAN 11 KOMPONEN KOMPONEN SWING LANJUTAN.

KOMPONEN – KOMPONEN SWING LANJUTAN Swing merupakan alternatif lain untuk mengimplementasikan pemprograman window. Walaupun diimplement...