12 - MODUL Java GUI
12 - MODUL Java GUI
(CCC210)
MODUL 12
GUI
DISUSUN OLEH
INDRIANI NOOR HAPSARI, ST, MT
B. Outline Topik
Untuk membuat antarmuka grafis di Java, maka Anda dapat menggunakan Java
Swing yang digunakan untuk membuat aplikasi berbasis jendela (window-based
application). Java Swing dibangun di atas API AWT (Abstract Windowing Toolkit).
Berbeda dengan AWT, Java Swing menyediakan fitur platform-independent dan
komponen yang ringan.
Package javax.swing menyediakan kelas untuk API swing java seperti JButton,
JTextField, JTextArea, JRadioButton, JCheckBox, JMenu, JColorChooser, dan
sebagainya.
Kelebihan JOptionPane:
1. Sederhana
2. Fleksibel (dalam hal tertentu)
3. Terlihat lebih baik daripada “the black box of death” (layar hitam console).
Kekurangan JOptionPane:
1. Dibuat dengan fungsi statik
2. Tidak terlalu object-oriented
3. Tidak terlalu powerful (hanya menampilkan dialog box sederhana)
1. showMessageDialog(<parent>, <message>)
Menampilkan sebuah pesan dalam
sebuah dialog dengan tombol OK.
2. showConfirmDialog(<parent>, <message>)
Menampilkan sebuah pesan dengan daftar pilihan Yes, No, Cancel; mengembalikan
pilihan user sebagai sebuah integer dengan nilai sebagai berikut:
JOptionPane.YES_OPTION
JOptionPane.NO_OPTION
3. showInputDialog(<parent>, <message>)
Menampilkan sebuah pesan dan
textfield untuk menerima input dari user;
mengembalikan nilai yang diinput user
sebagai sebuah String.
import javax.swing.*;
Sebagian besar GUI tidak tersusun atas OptionPane; karena fungsinya sangat
terbatas. Sebagian besar GUI merupakan GUI yang kompleks yang terdiri atas
elemen-elemen berikut:
Berikut ini adalah hirarki Java Event, yang terletak di dalam package
java.awt.event.*
java.lang.Object
+--java.util.EventObject
+--java.awt.AWTEvent
+--java.awt.event.ActionEvent
+--java.awt.event.TextEvent
+--java.awt.event.ComponentEvent
+--java.awt.event.FocusEvent
+--java.awt.event.WindowEvent
+--java.awt.event.InputEvent
+--java.awt.event.KeyEvent
+--java.awt.event.MouseEvent
import java.awt.event.*;
LISTENER
Untuk dapat mendeteksi sebuah event di sebuah komponen, maka program harus
memasang listener pada komponen tersebut. Fungsi listener yang sesuai akan
dipanggil ketika event terjadi (misalkan, ketika sebuah button di-klik). Untuk
ActionEvent, digunakan ActionListener.
Berikut ini adalah salah satu cara menuliskan sebuah ActionListener dalam
program.
// part of Java; you don't write this
public interface ActionListener {
public void actionPerformed(ActionEvent event);
}
6. MOUSE EVENT
Untuk dapat mendeteksi sebuah event dari aktivitas mouse di sebuah komponen,
maka program harus memasang listener pada komponen tersebut. Untuk
MouseEvent, digunakan MouseListener.
Berikut ini adalah salah satu cara menuliskan sebuah MouseListener dalam
program.
package java.awt.event;
Sekarang, apabila mouse ditekan pada panel, maka program akan mencetak “User
pressed mouse button!”.
KeyEvent digunakan untuk menunggu event yang terjadi ketika keyboard ditekan
pada komponen GUI (biasanya pada sebuah panel). KeyEvent merespon terhadap
aktivitas keyboard yang sesuai. KeyEvent membuat program interaktif yang
digerakkan oleh aktivitas keyboard seperti mengendalikan karakter yang ditampilkan
di layar dan mensimulasikan input teks.
Untuk dapat mendeteksi sebuah event dari aktivitas keyboard di sebuah komponen,
maka program harus memasang listener pada komponen tersebut. Untuk
KeyEvent, digunakan KeyListener.
Berikut adalah interface KeyListener yang dapat diimplementasi pada kelas yang
Anda buat.
if (keyCode == KeyEvent.VK_RIGHT) {
pacman.setX(pacman.getX() + 1);
pacpanel.repaint();
} else if (keyChar == 'Q') {
System.exit(0);
}
}
}
Sekarang, apabila ditekan tombol “panah kanan” di keyboard, lokasi axis pacman
akan bertambah satu (ke kanan), dan bila tombol “Q” akan keluar dari program.
Stuart Reges and Marty Stepp, Building Java Programs : A Back to Basics Approach,
Pearson, 2019.
buildingjavaprograms.com
https://docs.oracle.com/javase/tutorial/uiswing/