Konsep Graphical User Interface (GUI) di Java.

dokumen-dokumen yang mirip
Java Fundamentals: 3. Java GUI. Pemrograman Lanjut PTIIK UB Dosen: Herman Tolle. Slide ini dibuat oleh Pak Romy Satriowahono

HP:

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

GUI & Event Handling. Viska Mutiawani, M.Sc

GUI & Event Handling. Viska Mutiawani, M.Sc. 1 Viska Mutiawani - Informatika FMIPA Unsyiah

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN JAVA 2

Membuat User Interface dengan Swing. Program yang dibuat sebelumnya selalu berbasis console User lebih senang berinteraksi dengan

Modul Praktikum 8 BAB VIII LISTENER/EVENT HANDLER. Departemen Teknologi Informasi Telkom Applied Science School 2013.

GRAPHICAL USER INTERFACE (GUI)

GUI Event Handling 1

Percobaan 7 GUI(Graphical User Interface )

Materi : GUI AWT & SWING.

A. TUJUAN PEMBELAJARAN

DIK-020 Pemograman Berorientasi Objek 5/24/2012

GUI Event Handling. minggu 13. Wednesday, 16 May 12

GUI (Grapichal User Interface)

2. Manakah diantara pilihan berikut ini yang merupakan bagian dari event delegation model? Sebuah komponen yang menampilkan message

Bab Tujuan. 8.2 Delegation Event Model

1.Tujuan. 2. Latar Belakang

GUI Event Handling. 5. Mendiskusikan keuntungan-keuntungan dari menggunakan inner dan anonymous class

Pemrograman Berorientasi Obyek. Ramos Somya

Modul 08. User Interface 01

Membangun GUI (dengan AWT & Swing) OOP Java

PEMROGRAMAN II. Materi : nursari2010.blogdetik.com String String Handling Java.util,Java.io. By : Sri Rezeki Candra Nursari

Graphical User Interface (GUI)

A. TUJUAN PEMBELAJARAN

1. Mana dari adapter berikut ini yang merupakan class adapter yang benar didalam Java. ComponentAdapter

IF PEMROGRAMAN LANJUT EVENT. Oleh : Andri Heryandi, M.T.

BAB IX. USER INTERFACE

PERTEMUAN VI AWT DAN SWING TUJUAN PRAKTIKUM. 1. Praktikan mengenal pembuatan GUI pada Java. 2. Praktikan memahami action pada objek dalam Java.

Dasar Perancangan Graphical User Interface

Membuat Menu Login Sederhana [Full Coding]

Modul Praktikum 7 Pemograman Berorientasi Objek

Modul Praktikum 9 BAB IX LAYOUTING. Departemen Teknologi Informasi Telkom Applied Science School H a l


BAB I PENDAHULUAN. Listing 1.1 menunjukkan program GUI Java sederhana menggunakan AWT. import java.awt.*; import java.awt.event.*;

PENGENALAN JAVA GUI PROGRAMMING

Pemrograman Berorientasi Objek Lanjut Lecture 3: Layout Manager

Modul 9: antarmuka grafis (GUI) dalam window

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN 2

AWT (ABSTRACT WINDOWS TOOLKITS)

A. TUJUAN PEMBELAJARAN

SOAL UAS Mata Kuliah : Pemrograman Berorientasi Objek Lanjutan

1.Tujuan. 2. Latar Belakang

BAB IX MEMBUAT FORM 9.1 Membuat Form Secara Konvensional

PERTEMUAN 6 AWT & SWING

Creating Graphical User Interfaces [1] with Java By: De Rosal Ignatius Moses Setiadi

Membuat Frame, Label, TextField dan Button di Java [Full Coding]

Pemrograman Lanjut. Intro to GUI (Graphical User Interface)

Swing. suatu program. Tetapi, program Anda akan kelihatan tidak menarik dan tidak nyaman digunakan bagi para

SILABUS MATAKULIAH. Indikator Pokok Bahasan/Materi Aktifitas Pembelajaran

1. Latar Belakang 2. Tujuan

Abstract Window Toolkit

MODUL PRAKTIKUM KE 3 A.

PEMROGRAMAN BERORIENTASI OBJEK

GUI, Ev e Ev n e t n Handling, Ex ception Handling in Java

MODUL 7 - EXCEPTION HANDLING

IF PEMROGRAMAN LANJUT GRAPHICAL USER INTERFACE (GUI) 11 DENGAN SWING. Oleh : Andri Heryandi, M.T.

Sendy Ferdian Sujadi

5/24/2012. Pemograman Berorientasi Objek. Pembahasan. Abstract Windowing Toolkit & Swing. Pembahasan

Materi 5 Pemrograman Visual

Membuat Form Dinamis di Java

Pemrograman Visual Java Membuat Form Penilaian

Pemrograman Java. Pertemuan VIII By: Augury

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN JAVA 2

BAB I PENDAHULUAN. Maksud dan tujuan dari pembuatan Aplikasi Penentu Nilai Mahasiswa pada pemrograman java adalah:

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN 2

GUI in Java. Presented by HCI Team Ali Ridho Barakbah Umi Sa adah Nur Rosyid Mubtada i. Supervised by Prof. Kohei Arai

Materi 6 Pemrograman Visual

- Setiap pola yang menggambarkan permasalahan yang terjadi secara berulang, serta

Belajar Set Currency Format di TextField Java

Event Listener. Beberapa EventListener yang akan diberikan contoh pada slide ini antara lain:

visit :

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN JAVA 2

Materi 3 Pemrograman Visual

Sendy Ferdian Sujadi

PEMROGRAMAN II. By : Sri Rezeki Candra Nursari

Slide 6: Writing Classes

Obyek Lanjutan (Java)

Membuat Kalkulator dengan Java

KELAS INNER, KELAS ABSTRAK, DAN INTERFACE. 16 th week Estu Sinduningrum ST,MT

MODUL PRAKTIKUM KE 8

Pemrograman Berbasis Java PERSEWAAN PELAMPUNG. Riska Nony Oktaviani Kelas 21 Teknik Informatika Teknologi Informasi

Bikin Gampang Coding GUI-Mu Dengan 'Java GUI Builder'

JAVA SWING. Swing merupakan library pada java untuk membuat sebuah tampilan seperti

LAPORAN PERCOBAAN V ( MENGHITUNG NILAI UJIAN MAHASISWA) BERBASIS JAVA DENGAN MENGGUNAKAN TOOLS NETBEANS

Pemrograman Berorientasi Obyek Lanjut (IT251) Ramos Somya, S.Kom., M.Cs.

TUGAS PEMROGRAMAN BERBASIS JAVA ADARA HIJAB

Modul 7 Praktikum Pemrograman Visual

KASUS INHERITANCE. (Window, Multithreading dan Applet)

BINA NUSANTARA UNIVERSITY NATA LASE

Graphics Programming

MEMBUAT APLIKASI ZODIAK SEDERHANA DENGAN JAVA BY : INDRA

MODUL PRAKTIKUM BERORIENTASI OBJEK NINF615 SEMESTER GASAL 2016/2017 PROGRAM STUDI S1 TEKNIK INFORMATIKA

PERTEMUAN 1 Membuat Project & Komponen Swing [PBO II JAVA] dosen : SOPINGI, S.Kom

Object Oriented Pemrograman yang mendukung konsep objek. (inheritance, capsulation, polymorphism)

Materi 4 Pemrograman Visual

GARIS-GARIS BESAR PROGRAM PERKULIAHAN (GBPP)

BAGIAN XIII GRAPHICAL USER INTERFACE DENGAN SWING. Praktikum I : Menggunakan JFrame, JTextField, JLabel dan JButton

INSTRUKSI PENCABANGAN

Transkripsi:

KONSEP GUI DI JAVA

Konsep Graphical User Interface (GUI) di Java.

API untuk Aplikasi GUI di Java 1. 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. 2. 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.

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 sistem operasi). Data Transfer Antar Komponen: drag and drop, copy and paste. Internationalization: proses desain aplikasi yang memungkinkan aplikasi dijalankan sesuai dengan preferensi tanpa rekompilasi. Localization: proses translasi teks ke bahasa lokal dan menambahkan komponen local.

Komponen Swing

Komponen Dasar Swing 1. Top-Level Container: kontainer dasar dimana komponen lainnya diletakkan (JFrame, JDialog dan Applet). 2. Intermediate Container: kontainer perantara dimana komponen lainnya diletakkan (JPanel, JScrollPane, JTabbedPane, JToolbar, JSplitPane). 3. Atomic Component: komponen yang memiliki fungsi spesifik dan menerima interaksi langsung dari user (JButton, JLabel, JTextArea, dsb). 4. Layout Manager: mengatur tata letak dan posisi komponen dalam kontainer (BorderLayout, BoxLayout, FlowLayout, GridBagLayout, GridLayout). 5. Event Handling: menangani event yang dilakukan user (klik mouse, ketik keyboard, perbesar frame, dsb).

Desain Aplikasi GUI dengan Netbeans

Top-Level Container JFRAME, JDIALOG, APPLET

Top Level Container

JFrame //1. Create the frame JFrame frame = new JFrame("Frame Beraksi"); //2. Optional: What happens when the frame closes? frame.setdefaultcloseoperation(jframe.exit_ N_CLOSE); //3. Create components and put them in the frame //...create emptylabel... frame.getcontentpane().add(emptylabel, BorderLayout.CENTER); //4. Size the frame frame.pack(); //5. Show it frame.setvisible(true);

FrameBeraksi.java public class FrameBeraksi { public static void main(string[] args){ JFrame frame = new JFrame("Frame Beraksi"); frame.setdefaultcloseoperation(jframe.exit_on_close); JLabel emptylabel = new JLabel("Frame Beraksi"); frame.getcontentpane().add(emptylabel); } } frame.setsize(400,200); frame.setvisible(true);

FrameBeraksi2.java import javax.swing.*; public class FrameBeraksi2 extends JFrame { } public FrameBeraksi2() { super("frame Beraksi 2"); setsize(300, 100); setdefaultcloseoperation(jframe.exit_on_close); setvisible(true); public static void main(string[] arguments) { } } FrameBeraksi2 frame= new FrameBeraksi2();

Intermediate Container

Menu

Atomic Component

JButton public class ButtonBeraksi extends JFrame { JButton load = new JButton("Load"); JButton save = new JButton("Save"); public ButtonBeraksi() { super("button Beraksi"); setsize(140, 170); setdefaultcloseoperation(jframe.exit_on_close); JPanel pane = new JPanel(); pane.add(load); pane.add(save); add(pane); setvisible(true); } public static void main(string[] arguments) { ButtonBeraksi button = new ButtonBera }

Choice with ComboBox, CheckBox, RadioButton

Choice with ComboBox, CheckBox, RadioButton

Layout Manager

Jenis Layout Manager 1. Border Layout 2. Flow Layout 3. Grid Layout 4. Grid Bag Layout 5. Box Layout 6. Card Layout

BorderLayoutBeraksi.java public class BorderLayoutBeraksi extends JFrame { JButton nbutton = new JButton("North"); JButton sbutton = new JButton("South"); JButton ebutton = new JButton("East"); JButton wbutton = new JButton("West"); JButton cbutton = new JButton("Center"); JButton( Center ); public BorderLayoutBeraksi() { super("border Layout Beraksi"); setsize(240, 280); setdefaultcloseoperation(jframe.exit_on_close ); setlayout(new BorderLayout()); add(nbutton, BorderLayout.NORTH); add(sbutton, BorderLayout.SOUTH); add(ebutton, BorderLayout.EAST); add(wbutton, BorderLayout.WEST); add(cbutton, BorderLayout.CENTER); } public static void main(string[] args) { BorderLayoutBeraksi frame = new BorderLayoutBeraksi(); Frame.setVisible(true); } }

BorderLayout

FlowLayoutBeraksi.java public class FlowLayoutBeraksi extends JFrame { JButton a = new JButton("Alibi"); JButton b = new JButton("Burglar"); JButton c = new JButton("Corpse"); JButton d = new JButton("Deadbeat"); JButton e = new JButton("Evidence"); public static void main(string[] args) { FlowLayoutBeraksi frame = new FlowLayoutBeraksi(); JButton f = new JButton("Fugitive"); public FlowLayoutBeraksi() { super("flow Layout Beraksi"); setsize(360, 120); setdefaultcloseoperation(jframe.exit_on_close); FlowLayout lm = new FlowLayout(FlowLayout.LEFT); setlayout(lm); add(a); add(b); add(c); add(d); add(e); add(f); setvisible(true); } public static void main(string[] args) { FlowLayoutBeraksi frame = new FlowLayoutBeraksi(); } }

GridLayoutBeraksi.java public class GridLayoutBeraksi extends JFrame { JButton marcia = new JButton("Marcia"); JButton carol = new JButton("Carol"); JButton greg = new JButton("Greg"); JButton jan = new JButton("Jan"); JButton alice = new JButton("Alice"); JButton( Alice ); JButton peter = new JButton("Peter"); JButton cindy = new JButton("Cindy"); JButton mike = new JButton("Mike"); JButton bobby = new JButton("Bobby"); public GridLayoutBeraksi() { super(" Grid Layout Beraksi "); setsize(260, 260); setdefaultcloseoperation(jframe.exit_on_close ); JPanel pane = new JPanel(); } GridLayout family = new GridLayout(3, 3, 10, 10); pane.setlayout(family); pane.add(marcia); pane.add(carol); pane.add(greg); pane.add(jan); pane.add(alice); pane.add(peter); pane.add(cindy); pane.add(mike); pane.add(bobby); add(pane); setvisible(true); public static void main(string[] args) { GridLayoutBeraksi frame = new GridLayoutBeraksi(); } }

GridLayout

BorderLayout + GridLayout

GridBagLayout

BoxLayoutBeraksi.java public class BoxLayoutBeraksi extends JFrame { public BoxLayoutBeraksi() { super("boxlayoutberaksi"); setsize(430, 150); setdefaultcloseoperation(jframe.exit_on_cl OSE); JPanel commandpane = new JPanel(); BoxLayout horizontal = new BoxLayout(commandPane,BoxLayout.X AXIS); commandpane.setlayout(horizontal); JButton subscribe = new JButton("Subscribe"); JButton unsubscribe = new JButton("Unsubscribe"); JButton refresh = new JButton("Refresh"); commandpane.add(subscribe); commandpane.add(unsubscribe); commandpane.add(refresh); add(commandpane); } public static void main(string[] args) { BoxLayoutBeraksi st = new BoxLayoutBeraksi(); } }

CardLayoutBeraksi.java class CardLayoutBeraksi{ public static void main(string[] args){ JFrame frame = new JFrame("Card Layout Beraksi"); JPanel panel1 = new JPanel(); JPanel panel2 = new JPanel(); JButton button = new JButton("Button dalam panel ke 1"); JT ta t t JT ta ("T t d l l k 2") JTextArea text = new JTextArea("Text dalam panel ke 2"); panel1.add(button); panel2.add(text); JTabbedPane tab = new JTabbedPane(); tab.add(panel1, "Tab 1"); tab.add(panel2, "Tab 2"); frame.getcontentpane().add(tab,borderlayout.north); frame.setdefaultcloseoperation(jframe.exit_on_close); frame.pack(); frame.setvisible(true); } }

Penanganan Kejadian (Event Handling)

Event 1. Event adalah kejadian atau peristiwa yang dilakukan oleh user terhadap user interface menggunakan peralatan mouse dan keyboard. 2. Setiap objek dapat dinotifikasi jika suatu event terjadi sehingga objek tersebut dapat memutuskan apa yang harus dilakukan untuk menanggapi (menangani) event tersebut (event handling) 3. Agar suatu objek dapat dinotifikasi tentang suatu event, objek harus mendaftarkan diri sebagai event listener ke sumber yg menghasilkan event, dan mengimplementasikan interface listener yg sesuai.

Proses Penanganan Event (Kejadian) 1. Komponen harus didaftarkan sebagai pendengar (listener) dg menggunakan method addxxxlistener() JButton tombolselesai = new JButton( Selesai ); tombolselesai.addactionlistener(this); 2. Meng-implementasi interface listener atau meng-extends class adapter (bisa juga dengan membuat inner class) 1. class HelloGUI implements MouseListener{} 2. class HelloGUI extends MouseAdapter{} atau class HelloGUI extends JFrame{ class handler extends MouseAdapter{}} 3. Menuliskan code penangan event pada method handler MouseAdapter{ } public void mouseclicked(mouseevent e){ } //code penangan kejadian

Listener Yang Sering Digunakan

Kategori Interface Method Listener Yang Banyak Dipakai Action ActionListener actionperformed(actionevent) Item ItemListener itemstatechanged(itemevent) Mouse MouseListener mouseclicked(mouseevent) mouseentered(mouseevent) mouseexited(mouseevent) mousepressed(mouseevent) mousereleased(mouseevent) Mouse Motion MouseMotionListener mousedragged(mouseevent) mousemoved(mouseevent) Key KeyListener keypressed(keyevent) keyreleased(keyevent) keytyped(keyevent Focus FocusListener focusgained(focusevent) focuslost(focusevent) Window WindowListener windowclosing(windowevent) windowopened(windowevent) windowactived(windowevent) windowdeactived(windowevent)

Daftar Listener Lengkap

Listener (Semua Komponen Swing) Listener Deskripsi ComponentListener FocusListener KeyListener MouseListener MouseMotionListener MouseWheelListener HierarchyListener HierarchyBoundListener Mendengarkan perubahan size, position, atau visibility dari komponen Mendengarkan ketika komponen mendapatkan atau kehilangan fokus keyboard Mendengarkan penekanan tombol keyboard (hanya untuk komponen yang mendapat fokus keyboard) Mendengarkan penekanan mouse, klik mouse, pelepasan mouse, dan pergerakan mouse Mendengarkan perubahan posisi kursor mouse pada komponen Mendengarkan pergerakan roda mouse pada komponen Mendengarkan perubahan hirarki komponen karena kejadian yang berubah Mendengarkan perubahan hirarki komponen karena kejadian pergerakan dan perubahan ukuran

Listener API Table -1- Listener or Adapter Listener Method Deskripsi ActionListener actionperformed(actionevent) AncestorListener CaretListener CellEditorListener ChangeListener ComponentListener ComponentAdapter ContainerListener ContainerAdapter DocumentListener ExceptionListener ancestoradded(ancestorevent) ancestormoved(ancestorevent) ancestorremoved(ancestorevent) caretupdate(caretevent) editingstopped(changeevent) editingcanceled(changeevent) statechanged(changeevent) componenthidden(componentevent) componentmoved(componentevent) componentresized(componentevent) componentshown(componentevent componentadded(containerevent) componentremoved(containerevent) changedupdate(documentevent) insertupdate(documentevent) removeupdate(documentevent) exceptionthrown(exception)

Listener API Table -2- Listener or Adapter Listener Method Deskripsi FocusListener FocusAdapter HierarchyBoundsListener HierarchyBoundsAdapter HierarchyListener HyperlinkListener InputMethodListener InternalFrameListener InternalFrameAdapter ItemListener KeyListener KeyAdapter focusgained(focusevent) focuslost(focusevent) ancestormoved(hierarchyevent) ancestorresized(hierarchyevent) hierarchychanged(hierarchyevent) hyperlinkupdate(hyperlinkevent) caretpositionchanged(inputmethodevent) inputmethodtextchanged(inputmethodevent) internalframeactivated(internalframeevent) internalframeclosed(internalframeevent) internalframeclosing(internalframeevent) internalframedeactivated(internalframeevent) internalframedeiconified(internalframeevent) internalframeiconified(internalframeevent) internalframeopened(internalframeevent) itemstatechanged(itemevent) keypressed(keyevent) keyreleased(keyevent) keytyped(keyevent

Listener API Table -3- Listener or Adapter Listener Method Deskripsi ListDataListener ListSelectionListener MenuDragMouseList ener MenuKeyListener MenuListener contentschanged(listdataevent) intervaladded(listdataevent) intervalremoved(listdataevent) valuechanged(listselectionevent) menudragmousedragged(menudragmouseevent) menudragmouseentered(menudragmouseevent) menudragmouseexited(menudragmouseevent) menudragmousereleased(menudragmouseevent) menukeypressed(menukeyevent) menukeyreleased(menukeyevent) menukeytyped(menukeyevent) menucanceled(menuevent) menudeselected(menuevent) menuselected(menuevent)

Listener API Table -4- Listener or Adapter Listener Method Deskripsi MouseListener MouseMotionListener MouseMotionAdapter, MouseInputAdapter MouseWheelListener MouseAdapter PropertyChangeListener TableColumnModelListener TableModelListener mouseclicked(mouseevent) mouseentered(mouseevent) mouseexited(mouseevent) mousepressed(mouseevent) mousereleased(mouseevent) mousedragged(mouseevent) mousemoved(mouseevent) popupmenucanceled(popupmenuevent) popupmenuwillbecomeinvisible(popupmenuevent) popupmenuwillbecomevisible(popupmenuevent) propertychange(propertychangeevent) columnadded(tablecolumnmodelevent) columnmoved(tablecolumnmodelevent) columnremoved(tablecolumnmodelevent) columnmarginchanged(changeevent) columnselectionchanged(listselectionevent) tablechanged(tablemodelevent)

Terimakasih...

Referensi http://romisatriawahono.net/lectures/ Object First With Java, Fifth edition, David J. Barnes & Michael Kölling, Prentice Hall / Pearson Education, 2012. The Java TM Tutorial, http://docs.oracle.com/javase/tutorial/java/nutsandbolts/, Oracle, 1995-2014. Java SE Tutorial, http://www.oracle.com/technetwork/java/javase/downloads/javase-7-tutorial-2012-02-28-1536013.html, Oracle, 2014. SCJP Sun Certified Programmer for Java TM 6 Study Guide Exam (310-065), Kathy Sierra & Bert Bates, Mc Graw Hill, 2008.