Anda di halaman 1dari 20

Modul 6.

Pemrogaman Graphical User Interface (GUI)

1. TUJUAN INSTRUKSIONAL KHUSUS


a. Mahasiswa dapat membuat aplikasi java berbasis Graphical User Interface (GUI)
menggunakan komponen Abstract Window Toolkit (AWT) dan Swing.
b. Mahasiswa dapat mengatur layout komponen dalam container menggunakan komponen
Layout Manager.

2. DASAR TEORI
The Java Foundation Class (JFC) merupakan bagian penting dari Java SDK termasuk dalam
koleksi API dimana dapat mempermudah pengembangan aplikasi JAVA GUI dan membantu
pengembang dalam mendesain dan mengimplementasikan aplikasi visual yang lebih baik.
JFC terdiri dari lima APIs utama (source:JENI):
a. AWT. d. Accessibility.
b. Swing. e. Drag and Drop.
c. Java2D.
Pada Praktikum ini, dibahas AWT dan Swing menyediakan komponen GUI yang dapat
digunakan dalam membuat aplikasi Java dan applet. Tidak seperti beberapa komponen
AWT yang menggunakan native code, keseluruhan Swing ditulis menggunakan bahasa
pemrograman Java. Swing menyediakan implementasi platform-independent dimana
aplikasi yang dikembangkan dengan platform yang berbeda dapat memiliki tampilan yang
sama. Begitu juga dengan AWT menjamin tampilan look and feel pada aplikasi yang
dijalankan pada dua mesin yang berbeda menjadi terlihat sama. Swing API dibangun dari
beberapa API yang mengimplementasikan beberapa jenis bagian dari AWT.
Kesimpulannya, komponen AWT dapat digunakan dengan komponen Swing.
Konsep dasar Pembuatan GUI :
 Container (Tempat atau wadah), obyek yang dapat menampung komponen grafis dan
tempat yang lebih kecil. Contoh : Frame, panel.
 Component, obyek grafis yang berfungsi untuk menampilkan data, menerima
masukan, atau menunjukkan suatu kondisi. Contoh : buttons, labels, text field.
 Event, obyek yang mempresentasikan suatu kejadian. Contoh : gerakan mouse,
penekanan tombol.
 Listener, suatu obyek yang ‘menunggu’ suatu kejadian khusus dan akan bereaksi
(melakukan sesuatu) jika kejadian tersebut terjadi.

55
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS ILMU KOMPUTER
UNIVERSITAS MUSLIM INDONESIA

Dalam mengembangkan aplikasi GUI, komponen GUI seperti tombol atau textfield
diletakkan di dalam kontainer.
a. Beberapa kelas penting pada kontainer yang telah disediakan oleh AWT & SWING.
Tabel 6.1 AWT & SWING
AWT CLASS Deskripsi
Component Abstract Class untuk objek yang dapat ditampilkan pada console ,
berinteraksi dengang user dan bagian utama dari semua kelas AWT.
Container Abstract Subclass dari Component Class dan sebuah komponen yang
dapat menampung komponen yang lainnya.
Panel Turunan dari Container Class dan sebuah frame atau window tanpa
titlebar, menubar tidak termasuk border serta Superclass dari applet
class.
Window Turunan dari Container class. Top level window, dimana berarti tidak
bisa dimasukkan dalam objek yang lainnya dan tidak memiliki border
serta menubar.

b. Method-method yang digunakan untuk membuat window atau frame antara lain:
Tabel 6.2 Method
Methods Fungsi
void setSize(int width, int height) Untuk mengatur ukuran window,
menggunakan metode setSize.
mengubah ukuran komponen ini dengan
void setSize(Dimension d) width dan height sebagai parameter.
mengubah ukuran dengan d.width dan
d.height berdasar pada spesifikasi
Dimension d.
void setVisible(boolean b) mengatur visibility window menjadi true,
Default dari window adalah not visible atau
tak tampak. Agar panel dapat terlihat atau
visible, harus diletakkan di dalam window
yang dapat terlihat seperti sebuah frame

c. Beberapa method grafik ditemukan dalam Graphic class dan biasanya digunakan pada
Aplikasi Applet, antara lain:

Modul Praktikum Pemrogram Java Lanjut 2016 56


PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS ILMU KOMPUTER
UNIVERSITAS MUSLIM INDONESIA

Tabel 6.3 Beberapa method dari kelas Graphics


drawLine() drawPolyline() setColor()
fillRect() drawPolygon() getFont()
drawRect() fillPolygon() setFont()
clearRect() getColor() drawString()

Tabel 6.4 Hubungan Color Class


Constructor Format Description
Color(int r, int g, int b) Nilai integer 0 - 255.
Color(float r, float g, float b) Nilai float 0.0 - 1.0.
Color(int rgbValue) Panjang nilai : 0 ke 224-1 (hitam ke putih).
Red: bits 16-23
Green: bits 8-15
Blue: bits 0-7

d. Layout manager berfungsi untuk mengatur tampilan dari komponen di dalam container dan
menentukan posisi serta ukuran suatu komponen. Layout manager dapat diatur
menggunakan metode setLayout dari Container class. Metode ini dapat ditulis sebagai
berikut:
void setLayout(LayoutManager mgr)
Jika tidak menggunakan layout manager, dapat mengisi null sebagai argumen untuk
metode tersebut. Tetapi selanjutnya, akan mengatur posisi elemen secara manual dengan
menggunakan metode setBounds dari Components class:
public void setBounds(int x, int y, int width, int height)
Metode ini mengatur posisi berdasarkan pada argumen x dan y, dan ukuran berdasarkan
argumen width dan height. Berikut ini beberapa layout manager yang terdapat di dalam
Java.
1. FlowLayout
Tabel 6.5 Konstruktor FlowLayout
FlowLayout Constructors
FlowLayout()
Membuat objek baru FlowLayout dengan posisi di tengah dan lima unit horizontal dan
vertikal gap dimasukkan pada komponen sebagai default.
FlowLayout(int align)

Modul Praktikum Pemrogram Java Lanjut 2016 57


PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS ILMU KOMPUTER
UNIVERSITAS MUSLIM INDONESIA

FlowLayout Constructors
FlowLayout Constructors
Membuat objek baru FlowLayout dengan posisi spesifik dan lima unit horizontal dan
vertikal
gap dimasukkan pada komponen sebagai default.
FlowLayout(int align, int hgap, int vgap)
Membuat objek baru FlowLayout dengan argumen pertama sebagai posisi pada
komponen

2. BorderLayout
Tabel 6.6 Konstruktor BorderLayout
BorderLayout Constructors
BorderLayout()
Membuat objek BorderLayout baru tanpa spasi yang diaplikasikan diantara
komponen yang
berbeda.
BorderLayout(int hgap, int vgap)
Membuat objek BorderLayout baru dengan spasi unit hgap horizontal dan unit vgap
vertikal
yang diaplikasikan diantara komponen yang berbeda.

3. GridLayout
Tabel 6.7 Konstruktor GridLayout
GridLayout Constructors
GridLayout()
Membuat objek GridLayout baru dengan satu baris dan satu kolom sebagai default
GridLayout(int rows, int cols)
Membuat objek GridLayout baru dengan jumlah baris dan kolom sesuai dengan
keinginan
GridLayout(int rows, int cols, int hgap, int vgap)
Membuat objek GridLayout baru dengan jumlah baris dan kolom yang ditentukan.
Unit spasi
hgap horizontal dan vgap vertikal diaplikasikan ke dalam komponen.

Modul Praktikum Pemrogram Java Lanjut 2016 58


PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS ILMU KOMPUTER
UNIVERSITAS MUSLIM INDONESIA

4. GridBagLayout
5. CardLayout
e. Untuk membuat tampilan yang lebih komplek, dapat menggabungkan layout manager yang
berbeda dengan menggunakan panel. Panel adalah kontainer dan komponen pada saat
yang sama. Komponen dapat dimasukkan ke dalam panel dan kemudian ditambahkan
panel ke dalam region yang diinginkan di dalam kontainer.
Seperti pada package AWT, package dari Swing menyediakan banyak kelas untuk membuat
aplikasi GUI. Package tersebut dapat ditemukan di javax.swing.
Tabel 6.8 Perbedaan AWT dan Swing
NO AWT Swing
1 Komponen AWT ditulis Komponen Swing ditulis menyeluruh
sebagaian menggunakan Java menggunakan Java
2 Program GUI awalnya Program GUI ditulis menggunakan banyak kelas
dikembangkan menggunakan dari package Swing yang mempunyai tampilan
package AWT look and feel yang sama meski dijalankan pada
beda platform
3 AWT menyediakan komponen Swing menyediakan komponen yang lebih
seperti window classic menarik seperti color chooser dan option pane
4 Komponen GUI milik AWT Nama komponen Swing sama dengan nama
hampir sama persis dengan komponen AWT tetapi dengan tambahan huruf
komponen GUI milik Swing. J pada prefixnya

Tabel 6.9 Perbedaan AWT dan Swing


Komponen AWT/SWING Keterangan Icon
Button/ JButton jika di klik akan melakukan operasi
yang seharusnya dilakukan.
Tombol “push”. Korespondesi pada
button class dalam package AWT
Label/ JLabel untuk menampilkan text sebagai
identitas dari konten textfield
TextField/ JTextField kotak text yang untuk menampilkan
sederetan informasi atau
memasukkan data.

Modul Praktikum Pemrogram Java Lanjut 2016 59


PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS ILMU KOMPUTER
UNIVERSITAS MUSLIM INDONESIA

Komponen AWT/SWING Keterangan Icon


Mengijinkan untuk mengedit text satu
baris. Korespondensi pada textfield
class dalam package AWT.
TextArea/ JTextArea kotak text berisi tampilan beberapa
data

JPasswordField kotak sandi yang berisi sandi tanpa


tipe karakter huruf
RadioButton/ ini memilih satu opsi di antara
JRadioButton beberapa opsi pada sebuah group
CheckBox/JCheckBox ini memilih satu atau beberapa opsi di
antara beberapa opsi lain dalam
sebuah group.
Item yang dapat dipilih atau tidak
oleh pengguna. Korespondensi pada
checkbox class dalam package AWT
List/ JList daftar item yang dapat memilih satu
atau lebih opsi/item.

Choice/JComboBox daftart item yang dapat memilih satu


pada sebuah group.
JSpinner Berisi angka secara increment atau
decrement
JComponent Kelas induk untuk semua komponen
Swing, tidak termasuk top-level
kontainer
Frame/JFrame Turunan dan korepondensi pada
frame class dalam package AWT
tetapi keduanya (AWT dan Swing)
sedikit tidak cocok dalam kaitannya
dengan menambahkan komponen
pada kontainer. Perlu mendapatkan

Modul Praktikum Pemrogram Java Lanjut 2016 60


PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS ILMU KOMPUTER
UNIVERSITAS MUSLIM INDONESIA

Komponen AWT/SWING Keterangan Icon


content pane yang terbaru sebelum
menambah sebuah komponen.
JFileChooser Mengijinkan pengguna untuk memilih
sebuah file. orespondensi pada
filechooser class dalam package AWT

Panel/JPanel Turunan Jcomponent. Kontainer class


sederhana tetapi bukan top-level.
Korespondensi pada panel class
dalam package AWT.

Applet/JApplet Turunan dan korepondensi ke Applet


class dalam package AWT. Juga
sedikit tidak cocok dengan applet
class dalam kaitannya dengan
menambahkan komponen pada
kontainer
JOptionPane Turunan Jcomponent. Disediakan
untuk mempermudah menampilkan
popup kotak dialog.
JDialog Turunan dan korespondensi pada
dialog class dalam package AWT.
Biasanya digunakan untuk
menginformasikan sesuatu kepada
pengguna atau prompt pengguna
untuk input.
JColorChooser Turunan Jcomponent. Mengijinkan
pengguna untuk memilih warna

f. Top-level containers seperti Jframe dan Japplet dalam Swing tidak cocok dengan AWT. Ini
adalah syarat menambahkan komponen ke dalam kontainer. Jika ingin menambahkan
langsung sebuah komponen kedalam kontainer sebagai container AWT, maka gunakan
metode getContentPane dari container.

Modul Praktikum Pemrogram Java Lanjut 2016 61


PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS ILMU KOMPUTER
UNIVERSITAS MUSLIM INDONESIA

3. PERSIAPAN PRAKTIKUM
a. Instalasi Lingkungan Pengembang Aplikasi yaitu Java Development Kit (JDK) dan IDE
Netbeans.
b. Pembuatan FIle pada IDE Netbeans.
1. Klik menu File kemudian pilih New File, akan muncul tampilan sebagai berikut :
Gambar 6.1 Kota Dialog Java New File

2. Pada Categories : pilih Java dan File Types : Java Class. klik next maka akan muncul
tampilan sebagai berikut :
Gambar 6.2 Kota Dialog Java New Frame Form

Modul Praktikum Pemrogram Java Lanjut 2016 62


PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS ILMU KOMPUTER
UNIVERSITAS MUSLIM INDONESIA

3. Tulis nama file pada Class Name, jika ingin membuat package maka isi nama paket
pada bagian Package (opsional) kemudian Finish maka akan muncul tampilan sebagai
berikut :
Gambar 6.3 Halaman Editor Java Class

c. Pembuatan form window menggunakan package AWT/ Swing pada IDE Netbeans.
1. Tambahkan paket AWT/Swing pada kode program:
import java.awt.*; atau import javax.swing.*;
2. Gunakan Frame Class dengan menurunkannya ke sub kelas dengan mengggunakan
kata kunci extends Frame.
3. Method atau konstruktor pada kelas dibuat untuk desain komponen grafis yang berisi
method dari Frame Class yaitu setSize (width,height); dan setVisible(true); yang akan
membentuk sebuah window
4. Eksekusi aplikasi melalui intruksi program utama yang berisi instansiasi objek kelas.,
contoh program :
package javaa.gui.awt;

import java.awt.*;
/**
* @author Mardiyyah
*/
public class BuatJendelaAWT extends Frame{

public static void main(String[] args){


// instansiasi objek
BuatJendelaAWT jendela = new BuatJendelaAWT();
// menentukan ukuran tampilan window
jendela.setSize(500,300);
// menampilkan window
jendela.setVisible(true);

}
}

Modul Praktikum Pemrogram Java Lanjut 2016 63


PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS ILMU KOMPUTER
UNIVERSITAS MUSLIM INDONESIA

Hasil Eksekusi :
Gambar 6.4 Hasil Eksekusi Java Class

5. Untuk menutup aplikasi secara “paksa”, klik menu Run  Stop Build/Run:
[ProjectName]  Stop (pilih proses yang akan ditutup).

d. Penggunaan komponen grafis pallete package AWT dan Swing pada IDE Netbeans.
1. Klik komponen grafis berdasarkan ketegori paket dan container pada pallete (sebelah
kanan window).
2. Tarik komponen tersebut menggunakan pointer lalu letakkan ke frame sehingga
komponen tersebut berada pada container panel dan frame. Lakukan pada
komponen dan paket yang berbeda.
3. Eksekusi aplikasi dengan menekan shift+f6 atau klik menu Run  Run Project.

Gambar 6.5 Desain Form pada Frame menggunakan Pallete

Modul Praktikum Pemrogram Java Lanjut 2016 64


PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS ILMU KOMPUTER
UNIVERSITAS MUSLIM INDONESIA

4. PELAKSANAAN PRAKTIKUM
1. Percobaan : Membuat Project dan Package
Buatlah project bernama PraktekJavaL6 pada direktori bernama NIM_ANDA
(kelanjutan praktikum5) Contoh:
Nama Direktori : 13020140001 (NIM ANDA)
Nama Project : PraktekJavaL6
Nama Package : javaa.gui.awt dan javaa.gui.swing

2. Percobaan : Membuat window menggunakan paket swing


/*namafile: BuatJendela.java*/
package javaa.gui.swing;
import javax.swing.*;
/**
* @author NIM_ANDA, NAMA_ANDA, Hari/tgl, dan waktu
*/
public class BuatJendela extends JFrame {
//konstruktor melakukan invokasi (panggil) method
public BuatJendela() {
desainJendela();
}
//method melakukan invokasi method pada kelas JFrame
void desainJendela() {
// mengatur ukuran window
setSize(500, 300);
// mengatur lokasi atau posisi tampilan window
setLocation(300, 150);
// menampilkan window
setVisible(true);
// menutup aplikasi window
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public static void main(String[] args) {
//membuat instansiasi objek
BuatJendela jendela = new BuatJendela();
}
}

Modul Praktikum Pemrogram Java Lanjut 2016 65


PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS ILMU KOMPUTER
UNIVERSITAS MUSLIM INDONESIA

3. Percobaan : Membuat komponen grafis menggunakan paket AWT


package javaa.gui.awt;
import java.awt.*;
/**
*
* @author NIM_ANDA, NAMA_ANDA, Hari/tgl, dan waktu
*/
public class SimpleForm extends Frame{
private Label label;
private TextField textField ;
private Button button ;

public SimpleForm(){
desainForm();
}
public void desainForm(){
//instansiasi objek
label = new Label("Welcome...!");
textField = new TextField("Ahlan Wasahlan..!");
button = new Button("Selamat Datang");

setSize(200,200); // ukuran window


setLocation(150, 150); // posisi tampilan window

// menambah komponen pada window/frame


add(label, BorderLayout.NORTH);
add(textField,BorderLayout.CENTER);
add(button,BorderLayout.SOUTH);
}
public static void main(String[] args ){
new SimpleForm().setVisible(true);
}
}

4. Percobaan : Membuat komponen grafis menggunakan paket swing


package javaa.gui.swing;

import java.awt.BorderLayout;
import javax.swing.*;

/**
*
* @author NIM_ANDA, NAMA_ANDA, Hari/tgl, dan waktu
*/
public class FormSwingDemo extends JFrame {
private String[] daftarNama={"Bulqis","Zam","Ken"};
private String[]
daftarFak={"FIK","FT","FTI","FK","FKG"};
private JMenuBar menuBar;
private JMenu menu;
private JMenuItem menuitem;
private JLabel lNim, lNama,lsandi,lgender, ljml,
//sambung

lFak,lstatus,lMemo,lslider,lprogrss;
Modul Praktikum Pemrogram Java Lanjut 2016 66
private JTextField txtNim;
private JList listNama;
private JPasswordField sandi;
private JCheckBox cbGender1, cbGender2;
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS ILMU KOMPUTER
UNIVERSITAS MUSLIM INDONESIA

// lanjutan
lFak,lstatus,lMemo,lslider,lprogrss;
private JTextField txtNim;
private JList listNama;
private JPasswordField sandi;
private JCheckBox cbGender1, cbGender2;
private JRadioButton status;
private JTextArea memo;
private JComboBox choiceFak ;
private JButton btnTutup;
private JProgressBar progressbar;
private JSlider slider;
private JSpinner spin;
private JPanel pnlKomponen1;
private JPanel pnlKomponen2;
private JPanel pnlButton;

public FormSwingDemo() {
desainJendela();
}
void desainJendela(){//instansiasi objek komponen grafis
pnlKomponen1 = new JPanel();
pnlKomponen2 = new JPanel();
pnlButton = new JPanel();
menuBar = new JMenuBar();
menu = new JMenu("File");
menuitem = new JMenuItem("Simpan");
lNim = new JLabel ("NIM : ");
lNama = new JLabel ("Nama : ");
lsandi = new JLabel ("Sandi : ");
lgender = new JLabel("Gender : ");
lFak = new JLabel ("Fakultas : ");
ljml = new JLabel ("Jumlah : ");
lstatus = new JLabel("Status : ");
lMemo = new JLabel ("Pesan : ");
lslider = new JLabel("Slider : ");
lprogrss= new JLabel("ProgreessBar: ");
txtNim = new JTextField(10);
sandi = new JPasswordField(10);
cbGender1 = new JCheckBox("Pria");
cbGender2 = new JCheckBox("Wanita");
status = new JRadioButton("aktif");
listNama = new JList(daftarNama);
memo = new JTextArea(5, 5);
choiceFak = new JComboBox();
progressbar = new JProgressBar();
slider = new JSlider(0, 50);
btnTutup = new JButton("Ini tombol button !!!");
spin = new JSpinner();
//mengatur posisi tampilan window
setLocation(100, 100);
setSize(800, 250);
setTitle("Komponen Grafis");//menentukan judul window
//menambah komponen pada panel
pnlKomponen1.add(lNim); //sambung

Modul Praktikum Pemrogram Java Lanjut 2016


pnlKomponen1.add(txtNim);67
pnlKomponen1.add(lNama);
pnlKomponen1.add(listNama);
pnlKomponen1.add(lsandi);
pnlKomponen1.add(sandi);
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS ILMU KOMPUTER
UNIVERSITAS MUSLIM INDONESIA

// lanjutan
pnlKomponen1.add(txtNim);
pnlKomponen1.add(lNama);
pnlKomponen1.add(listNama);
pnlKomponen1.add(lsandi);
pnlKomponen1.add(sandi);
pnlKomponen1.add(lgender);
pnlKomponen1.add(cbGender1);
pnlKomponen1.add(cbGender2);
pnlKomponen1.add(lFak);
pnlKomponen1.add(choiceFak);
pnlKomponen1.add(ljml);
pnlKomponen1.add(spin);
pnlKomponen2.add(lstatus);
pnlKomponen2.add(status);
pnlKomponen2.add(lMemo);
pnlKomponen2.add(memo);
pnlKomponen2.add(lslider);
pnlKomponen2.add(slider);
pnlKomponen2.add(lprogrss);
pnlKomponen2.add(progressbar);
pnlButton.add(btnTutup);

//menambah item fakultas pada Choice


for(int i=0;i<daftarFak.length;i++)
choiceFak.addItem(daftarFak[i]);

//menambah komponen & mengatur layout panel pd frame


getContentPane().add(pnlKomponen1,BorderLayout.NORTH);
getContentPane().add(pnlKomponen2,BorderLayout.CENTER);
getContentPane().add(pnlButton,BorderLayout.SOUTH);

// menambah menu
menu.add("Baru");
menu.add(menuitem);
// menambah menu pada menubar
menuBar.add(menu);
// menambah atau mengatur menubar pada frame
setJMenuBar(menuBar);

//menutup aplikasi window


setDefaultCloseOperation(EXIT_ON_CLOSE);

//mengatur nilai progressbar


for(int i=0; i<50; i++)
progressbar.setValue(i);

pack();
}
public static void main(String[] args) {
setDefaultLookAndFeelDecorated(true); //style window
new FormSwingDemo().setVisible(true);
}
}

Modul Praktikum Pemrogram Java Lanjut 2016 68


PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS ILMU KOMPUTER
UNIVERSITAS MUSLIM INDONESIA

5. Percobaan : Mengatur Layout komponen menggunakan Layout Manager

package javaa.gui.swing;

import java.awt.*;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
/**
*
* @author NIM_ANDA, NAMA_ANDA, Hari/tgl, dan waktu
*/

public class FormLayoutDemo extends JFrame {


//deklarasi variable/objek
private final String[][] isi = {{"Id", "Password"},
{"1302000001", "admin1"}, {"1302000002", "admin2"}};
private final String[] id = {"0", "1"};
private JTabbedPane tab = new JTabbedPane();
private JColorChooser chooser = new
JColorChooser(Color.cyan);
private JFileChooser fileChooser = new JFileChooser("File
Chooser");
private JTable tabel = new JTable(2, 3);
private DefaultTableModel tabelMode = new
DefaultTableModel(isi, id);
private CheckboxGroup cbg = new CheckboxGroup();
private JPanel panelNorth = new JPanel();
private JPanel panelCenter = new JPanel();
private JPanel panelSouth = new JPanel();
private JOptionPane optionPane = new JOptionPane();

public FormLayoutDemo() {
//invokasi method
desainForm();
}

void desainForm() {
//model tabel
tabel.setModel(tabelMode);
tab.setSize(100, 100);

//menambah komponen grafis dalam JTabbedPane


tab.addTab("Tab untuk ColorChooser", chooser);
tab.addTab("Tab untuk FileChooser", fileChooser);
tab.addTab("Tab untuk Table", tabel);

/* North Panel */
//Panels menggunakan FlowLayout sebagai default
panelNorth.add(tab); //sambung
panelNorth.add(new JFormattedTextField("ini
Modul Praktikum Pemrogram
FormattedTextFieldJava Lanjut 2016
!!!")); 69
String name = optionPane.showInputDialog(
"Assalamu alaykum,,hi.. what's your name?");
optionPane.showMessageDialog(null,
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS ILMU KOMPUTER
UNIVERSITAS MUSLIM INDONESIA

//lanjutan
panelNorth.add(new JFormattedTextField("ini
FormattedTextField !!!"));

// Kotak Dialog Pesan


String name = optionPane.showInputDialog(
"Assalamu alaykum,,hi.. what's your name?");
optionPane.showMessageDialog(null,
"Nice to meet you, " + name + ".",
"Greeting...", optionPane.PLAIN_MESSAGE);

/* Center Panel */
//Panels menggunakan GridLayout
panelCenter.setLayout(new GridLayout(4, 4));
panelCenter.add(new TextField("1st TextField"));
panelCenter.add(new TextField("2nd TextField"));
panelCenter.add(new Checkbox("chk1", cbg, false));
panelCenter.add(new Checkbox("chk2", cbg, true));

/* South Panel */
//Panels menggunakan BorderLayout
panelSouth.setLayout(new BorderLayout());
panelSouth.add(new Checkbox("centang ini !!!"),
BorderLayout.CENTER);
panelSouth.add(new Checkbox("checklist!"),
BorderLayout.EAST);
panelSouth.add(new Checkbox("silahkan pilih!"),
BorderLayout.WEST);

/* memasukkanPanels dalam container Frame */


//Frame menggunakan BorderLayout secara default
add(panelNorth, BorderLayout.NORTH);
add(panelCenter, BorderLayout.CENTER);
add(panelSouth, BorderLayout.SOUTH);

setLocation(50, 50); //posisi tampilan window

//menutup aplikasi window


setDefaultCloseOperation(EXIT_ON_CLOSE);

pack();//Ukuran frame berdasar komponen


}
public static void main(String[] args) {
setDefaultLookAndFeelDecorated(true);
new FormLayoutDemo().setVisible(true);
}
}

Modul Praktikum Pemrogram Java Lanjut 2016 70


PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS ILMU KOMPUTER
UNIVERSITAS MUSLIM INDONESIA

6. Percobaan : Membuat Aplikasi Applet menggunakan Layout Manager

package javaa.gui.applet;

import java.applet.*;

import java.awt.*;

/**
*
* @author NIM_ANDA, NAMA_ANDA, Hari/tgl, dan waktu
*/
public class AppletGUI1 extends Applet{
BorderLayout bl; //Manager Layout
Button t1, t2, t3, t4, t5;
// method untuk memulai eksekusi aplikasi applet
public void init(){
bl = new BorderLayout(5, 10);
t1 = new Button("Tombol 1");
t2 = new Button("Tombol 2");
t3 = new Button("Tombol 3");
t4 = new Button("Tombol 4");
t5 = new Button("Tombol 5");

setLayout(bl);
add("North", t1);
add("South", t2);
add("East", t3);
add("West", t4);
add("Center", t5);
}
}

7. Percobaan : Membuat Aplikasi Applet menggunakan paket AWT (GUI)

package javaa.gui.applet;
import java.applet.Applet;
import java.awt.*;

/**
*
* @author NIM_ANDA, NAMA_ANDA, Hari/tgl, dan waktu
*/
public class AppletGUI2 extends Applet {
//membuat tombol atau command button
Button tombol = new Button("Tombol Button");
//membuat kotak ce atau checkbox
Checkbox cekA = new Checkbox("Cek Pertama");
Checkbox cekB = new Checkbox("Cek Kedua");
//membuat option button
CheckboxGroup opsi = new CheckboxGroup();
Checkbox opsi1 = new Checkbox("Opsi satu", opsi, true);
Checkbox opsi2 = new Checkbox("Opsi dua", opsi, false);
Checkbox opsi3 = new Checkbox("Opsi tiga", opsi, false);
//membuat combo
Modul Praktikum Pemrogram box2016
Java Lanjut 71
Choice pilih = new Choice();
//menambah gambar
Image gambar;
//membuat label
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS ILMU KOMPUTER
UNIVERSITAS MUSLIM INDONESIA

Checkbox opsi3 = new Checkbox("Opsi tiga", opsi, false);


//membuat combo box
Choice pilih = new Choice();
//menambah gambar
Image gambar;
//membuat label
Label teks = new Label("Contoh label", Label.CENTER);
//membuat list box
List daftar = new List(3);
//membuat scrollbar
Scrollbar geser1 = new Scrollbar(Scrollbar.HORIZONTAL, 0,
1, 0, 10);
Scrollbar geser2 = new Scrollbar(Scrollbar.VERTICAL, 0,
1, 0, 10);
//membuat text box multi baris
TextArea kotakTeks1 = new TextArea(4, 30);
//membuat text box satu baris
TextField kotakteks2 = new TextField(50);

public void init() {


add(tombol);
add(cekA);
add(cekB);
add(opsi1);
add(opsi2);
add(opsi3);
//menambahkan pilihan ke dalam combo box
pilih.add("Pilihan pertama");
pilih.add("Pilihan kedua");
pilih.add("Pilihan ketiga");
pilih.add("Pilihan keempat");
add(pilih);
//menentukan lokasi & nama file gambar
gambar = getImage(getCodeBase(), "Desert.jpg");
add(teks);
//menambahkan pilihan ke dalam list box
daftar.add("pertama");
daftar.add("kedua");
daftar.add("ketiga");
daftar.add("keempat");
daftar.add("kelima");
kotakTeks1.setText("BASE URL gambar anda : " +
getCodeBase());
kotakteks2.setText("Taruhlah file gambar anda sesuai
alamat Base URL");
add(daftar);
add(geser1);
add(geser2);
add(kotakTeks1);
add(kotakteks2);
}
public void paint(Graphics g) {
g.drawImage(gambar, 20, 200, 100, 70, this);
}
}

Modul Praktikum Pemrogram Java Lanjut 2016 72


PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS ILMU KOMPUTER
UNIVERSITAS MUSLIM INDONESIA

5. LATIHAN
1. Praktekkan dan Amati hasil dari kode Program sebagai berikut!

// buat paket class dengan nama paket bebas


class FrameWControls extends Frame {
FrameWControls(String name){
setLayout(new FlowLayout());

add(new Button("Test Me!"));


add(new Label("Labe"));
add(new TextField());

CheckboxGroup cbg = new CheckboxGroup();


add(new Checkbox("chk1", cbg, true));
add(new Checkbox("chk2", cbg, false));
add(new Checkbox("chk3", cbg, false));

List list = new List(3, false);


list.add("MTV");
list.add("V");
add(list);

Choice chooser = new Choice();


chooser.add("Avril");
chooser.add("Monica");
chooser.add("Britney");

add(chooser);
add(new Scrollbar());

setLocation(150,150);
setTitle("Aplikasi FrameWControls");

pack();
}
public static void main(String args[]) {
javax.swing.JFrame.setDefaultLookAndFeelDecorated(true);
new FrameWControls("FrameWControls").setVisible(true);
}
}

2. Ubahlah Kode Program pada Percobaan 3 & 4 dengan menggunakan masing-


masing paket Swing (untuk percobaan 3) dan AWT (untuk percobaan 4)!
Catatan: untuk Percobaan 4: gunakan class-class untuk membuat komponen
grafis yang hanya tersedia dalam paket AWT yang serupa dengan paket SWING,
jika komponen grafis pada AWT yang serupa SWING tidak tersedia, maka
komponen tersebut diabaikan!!!

3. Ubahlah Kode Program pada Percobaan 3 – 5 ke dalam bentuk aplikasi Applet!

Modul Praktikum Pemrogram Java Lanjut 2016 73


PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS ILMU KOMPUTER
UNIVERSITAS MUSLIM INDONESIA

6. TUGAS
1. Buatlah Aplikasi Java GUI menggunakan paket SWING dan AWT yang menampilkan
Desain Form sebagai berikut :

2. Buatlah Aplikasi Java GUI menggunakan paket Applet yang menampilkan Desain Form
sebagai berikut :

Modul Praktikum Pemrogram Java Lanjut 2016 74

Anda mungkin juga menyukai