JAVA GUI
(Graphical User
Interface)
Dosen Pengampu : Nur Iksan
Materi Diskusi
Konsep
Graphical User Interface
(GUI) di Java
Komponen Dasar Swing
Penanganan Kejadian (Event
Handling)
Membuat Program GUI sederhana
dengan Netbeans
Dosen Pengampu : Nur Iksan
Konsep GUI di
JAVA
Dosen Pengampu : Nur Iksan
API Untuk Aplikasi GUI
AWT
(Abstract Window Toolkit):
Library dan komponen GUI (java.awt) yang
pertama kali diperkenalkan oleh Java, Sun
tidak merekomendasikan lagi penggunaan
komponen GUI dari AWT
Swing or JFC (Java Foundation Class):
Library dan komponen GUI (javax.swing)
terbaru dari Java dan yang direkomendasikan
Sun untuk pemrograman GUI. Komponen Swing
sebagian besar adalah turunan AWT dan lebih
lengkap daripada AWT
Dosen Pengampu : Nur Iksan
Fitur SWING
Komponen
GUI Lengkap: button,
listbox, combobox, textarea, dsb
Pluggable Look-and-Feel: tampilan
GUI dapat diubah sesuai dengan
kehendak (tidak perlu mengikuti
native OS)
Data Transfer Antar Komponen:
drag and drop, copy and paste
Dosen Pengampu : Nur Iksan
Dosen Pengampu : Nur Iksan
Dosen Pengampu : Nur Iksan
Komponen
SWING
Dosen Pengampu : Nur Iksan
Komponen SWING
Top-Level Container: kontainer dasar dimana komponen
lainnya diletakkan (JFrame, JDialog dan Applet)
Intermediate Container: kontainer perantara dimana
komponen lainnya diletakkan/dikelompokkan (JPanel,
JScrollPane, JTabbedPane, JToolbar, JSplitPane)
Atomic Component: komponen yang memiliki fungsi
spesifik dan menerima interaksi langsung dari user
(Jbutton, JLabel, JTextArea, dsb)
Layout Manager: mengatur tata letak dan posisi komponen
dalam kontainer (BorderLayout, BoxLayout, FlowLayout,
GridBagLayout, GridLayout)
Event Handling: menangani event yang dilakukan user (klik
mouse, ketik keyboard, perbesar frame, dsb)
Dosen Pengampu : Nur Iksan
Dosen Pengampu : Nur Iksan
Dosen Pengampu : Nur Iksan
Dosen Pengampu : Nur Iksan
Dosen Pengampu : Nur Iksan
Dosen Pengampu : Nur Iksan
Dosen Pengampu : Nur Iksan
Dosen Pengampu : Nur Iksan
Top Level
Container
Dosen Pengampu : Nur Iksan
Penggunaan Top-Level
Container
Komponen
GUI akan ditampilkan sebagai bagian
dari containment hierarchy (Susunan hirarki
komponen yang menjadikan top-level container
sebagai rootnya)
Setiap komponen GUI hanya dapat dimuat pada
satu top-level container. Dan setiap top-level
container memiliki satu content pane yang berisi
komponenkomponen GUI
Kita dapat menambahkan menubar pada top-level
container. Menubar secara konvensi ditempatkan di
dalam top-level container, tapi di luar content pane,
kecuali pada look and feel MacOS yang memberi
kita opsi penempatan lebih bebas
Dosen Pengampu : Nur Iksan
Containment Hierarchy
Aplikasi
GUI berbasis Swing paling tidak
memiliki satu containment hierarchy
dengan JFrame sebagai rootnya
Jika sebuah aplikasi memiliki satu window
utama dan dua dialog artinya aplikasi
tersebut memiliki tiga containment
hierarchy dan juga tiga top-level container
Satu containment hierarchy memiliki
Jframe sebagai root, dan dua yang lain
memiliki JDialog sebagai root
Dosen Pengampu : Nur Iksan
Tampilan Umum Top-Level
Container
Dosen Pengampu : Nur Iksan
Content Pane dan
Menu
Bar
Menambahkan content pane pada Jframe
frame.getContentPane().add(yellowLabel , BorderLayout.CENTER);
Menambahkan komponen pada content pane
JPanel contentPane = new JPanel(new BorderLayout());
contentPane.setBorder(someBorder );
contentPane.add(someComponent , BorderLayout.CENTER);
contentPane.add(anotherComponent , BorderLayout.PAGE_END);
frame.setContentPane(contentPane);
Menambahkan menu bar pada Jframe
frame.setJMenuBar(greenMenuBar);
Dosen Pengampu : Nur Iksan
Root Pane
Setiap
top-level container sebenarnya didukung
oleh satu intermediate container bernama root
pane
Root pane mengelola content pane, menu bar dan
dua kontainer lain (layered pane dan glass pane)
Layered pane mengatur kedalaman posisi
komponen dengan menggunakan nilai depth (int)
Glass pane sering digunakan untuk menangkap
kejadian atau menempatkan gambar pada suatu
wilayah dimana terdapat satu atau banyak
komponen
Dosen Pengampu : Nur Iksan
Dosen Pengampu : Nur Iksan
JFrame
Dosen Pengampu : Nur Iksan
FrameBeraksi.java
Dosen Pengampu : Nur Iksan
FrameBeraksi2.java
Dosen Pengampu : Nur Iksan
Component
Dosen Pengampu : Nur Iksan
Dosen Pengampu : Nur Iksan
Dosen Pengampu : Nur Iksan
Dosen Pengampu : Nur Iksan
Dosen Pengampu : Nur Iksan