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 ([Link]) 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 ([Link]) 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
[Link]().add(yellowLabel , [Link]);
Menambahkan komponen pada content pane JPanel contentPane = new JPanel(new BorderLayout()); [Link](someBorder ); [Link](someComponent , [Link]);
[Link](anotherComponent , BorderLayout.PAGE_END);
[Link](contentPane); Menambahkan menu bar pada Jframe [Link](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
[Link]
Dosen Pengampu : Nur Iksan
[Link]
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