HP:

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

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

Romi Satria Wahono Lahir di Madiun, 2 Oktober 1974 SD Sompok Semarang (1987) SMPN 8 Semarang (1990) SMA Taruna Nusantara, Magelang (1993) S1, S2 dan S

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN JAVA 2

GUI Event Handling 1

GUI & Event Handling. Viska Mutiawani, M.Sc

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

Materi : GUI AWT & SWING.

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

DIK-020 Pemograman Berorientasi Objek 5/24/2012

GRAPHICAL USER INTERFACE (GUI)

Bab Tujuan. 8.2 Delegation Event Model

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

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

1.Tujuan. 2. Latar Belakang

Percobaan 7 GUI(Graphical User Interface )

GUI (Grapichal User Interface)

A. TUJUAN PEMBELAJARAN

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

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

Dasar Perancangan Graphical User Interface

Pemrograman Berorientasi Obyek. Ramos Somya

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

Membangun GUI (dengan AWT & Swing) OOP Java

A. TUJUAN PEMBELAJARAN

Modul 08. User Interface 01

BAB IX. USER INTERFACE

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

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

Membuat Menu Login Sederhana [Full Coding]

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

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

Pemrograman Lanjut. Intro to GUI (Graphical User Interface)

Modul Praktikum 7 Pemograman Berorientasi Objek

PENGENALAN JAVA GUI PROGRAMMING

Obyek Lanjutan (Java)

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN 2

Graphical User Interface (GUI)


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

PEMROGRAMAN BERORIENTASI OBJEK

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

Pemrograman Berorientasi Objek Lanjut Lecture 3: Layout Manager

BAB IX MEMBUAT FORM 9.1 Membuat Form Secara Konvensional

AWT (ABSTRACT WINDOWS TOOLKITS)

Modul 9: antarmuka grafis (GUI) dalam window

A. TUJUAN PEMBELAJARAN

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

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN 2

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

PERTEMUAN 6 AWT & SWING

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

1.Tujuan. 2. Latar Belakang

SOAL UAS Mata Kuliah : Pemrograman Berorientasi Objek Lanjutan

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN JAVA 2

MODUL PRAKTIKUM KE 3 A.

MODUL 7 - EXCEPTION HANDLING

1. Latar Belakang 2. Tujuan

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN JAVA 2

Pemrograman Java. Pertemuan VIII By: Augury

Abstract Window Toolkit

Modul 7 Praktikum Pemrograman Visual

Materi 5 Pemrograman Visual

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

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

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

Pemrograman Visual Java Membuat Form Penilaian

Graphics Programming

Membuat Form Dinamis di Java

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

Slide 6: Writing Classes

Materi 6 Pemrograman Visual

Materi 3 Pemrograman Visual

BINA NUSANTARA UNIVERSITY NATA LASE

Belajar Set Currency Format di TextField Java

Sendy Ferdian Sujadi

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

Lecture 04: Event Handling (Event Driven Programming)

visit :

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

GARIS-GARIS BESAR PROGRAM PERKULIAHAN (GBPP)

Sendy Ferdian Sujadi

LISTING PROGRAM. Program animasi Frame by Frame dalam bahasa pemrograman Java

Membuat Kalkulator dengan Java

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

TUGAS PEMROGRAMAN BERBASIS JAVA ADARA HIJAB

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

Multimedia Pembelajaran:

PEMROGRAMAN II. By : Sri Rezeki Candra Nursari

KASUS INHERITANCE. (Window, Multithreading dan Applet)

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

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

VISUAL JAVA PROGRAMMING

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

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

MEMBUAT APLIKASI ZODIAK SEDERHANA DENGAN JAVA BY : INDRA

Tutorial A Menggambar Bendera Merah Putih Pada Frame

SISTEM INFORMASI PENJUALAN SATE BERBASIS JAVA. Disusun oleh : Rahmat Hidayat

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

Fajar Yusran Zebua DASAR ANIMASI

Transkripsi:

OOP: Java GUI Romi Satria Wahono romi@romisatriawahono.net http://romisatriawahono.net net HP: 0878-8048048580480485 YM: romi_sw

Romi Satria Wahono Lahir di Madiun, 2 Oktober 1974 SD Sompok Semarang (1987) SMPN 8 Semarang (1990) SMA Taruna Nusantara, Magelang (1993) S1, S2 dan S3 (on-leave) dari Department of Computer Sciences, Saitama University, Japan (1994-2004) Core Competence: Software Engineering, i elearning System, Knowledge Management Founder dan Koordinator IlmuKomputer.Com CEO PT Brainmatics Cipta Informatika

Materi 1. OOP Concepts: Konsep dan Paradigma Object-Oriented Oriented Oi td 2. Java Fundamentals: Memahami Sintaks dan Grammar Bahasa Java 3. Java Advanced: Eksepsi, Thread, Java API 4. Java GUI: Swing, GUI Component, Event Handling 5. Java GUI with Netbeans: Mengembangkan Aplikasi Berbasis GUI dengan Java

Java GUI

Materi 1. Konsep Graphical User Interface (GUI) di Java 2. Komponen Dasar Swing 3. Penanganan Kejadian (Event Handling)

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 : button, listbox, Komponen GUI Lengkap: button, combobox, textarea, dsb Feel: tampilan GUI dapat diubahsesuai a dengan kehendak(tidak perlu mengikuti native OS) Pluggable Look-and-Feel Data Transfer Antar Komponen: : drag and drop, copy and paste Internationalization: t t proses desain lk desain aplikasi yang memungkinkan aplikasi dijalankan sesuai dengan preferensi tanpa rekompilasi Localization: aizati proses proses translasi tan aite teks ke bahasa a lokal dan menambahkan komponen lokal

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 k mouse, ketik k keyboard, perbesar frame, db dsb)

Top-Level Container JFrame, JDialog, Applet

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 komponen- komponen GUI Kita dapatmenambahkan a a a 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

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 lk tersebut t memiliki tiga containment hierarchy dan juga tiga top-level l container Satu containment hierarchy memiliki iki Jframe sebagai root, dan dua yang lain memiliki JDialog sebagai root

Content Pane dan Menu Bar 1. Menambahkan content pane pada Jframe frame.getcontentpane().add( ().add(yellowlabel, BorderLayout.CENTER); 2. Menambahkan komponen pada content pane JPanel contentpane = new JPanel(new BorderLayout()); contentpane.setborder(somebordersomeborder ); contentpane.add(somecomponent tp t, BorderLayout.CENTER); contentpane.add(anothercomponent add(anothercomponent anothercomponent, BorderLayout.PAGE_END); frame.setcontentpane(contentpane); 3. Menambahkan menu bar pada Jframe frame.setjmenubar(greenmenubar a greenmenubar);

Root Pane Setiap top-level container sebenarnya didukung oleh lh satu intermediate t container bernama root pane. Root pane mengelola content pane, menu bar dan dua kontainer li lain (layered pane dan glass pane) Layered pane mengatur kedalaman posisi komponen dengan menggunakan nilai depth (int int) Glass pane sering digunakan untuk menangkap kejadian atau menempatkan gambar pada suatu wilayah dimana terdapat satu atau banyak komponen

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

FrameBeraksi.java import javax.swing.*;.*; 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( ().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();

FrameBeraksi3.java import javax.swing.jframe; public class FrameBeraksi3 extends JFrame { public FrameBeraksi3() { } super("frame Beraksi 3); 3"); setbounds(400, 300, 10, 10); setvisible(true); public static void dma main(string[] ng[]a arguments) ){ } FrameBeraksi3 frame = new FrameBeraksi3(); for (int i = 10; i < 400; i++) { } frame.setbounds(400 -(i/2), 300 -(i/2), i, i); }

Atomic Component

Fitur Standard JComponent Tool Tips: settooltiptext() Painting and Borders: setborder(), paintcomponent() t() Pluggable Look and Feel: UIManager.setLookAndFeel() Properties: putclientproperty(), getclientproperty() Layout: setminimumsize(), setmaximumsize, setalignmentx() Drag and Drop: component.setdragenabled setdragenabled(true) Double Buffering: untuk menghaluskan gambar Key Bindings: untuk mnemonics dan accelerators

JButton import javax.swing..; * 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 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

Layout Manager

BorderLayoutBeraksi.java t t * public static void main(string[] args) { import java.awt.*; Import java.awt.event.*;.*; import javax.swing.*;.*; 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_clos E); setlayout(new BorderLayout()); add(nbutton, BorderLayout.NORTH); add(sbutton, BorderLayout.SOUTH); add(ebutton, BorderLayout.EAST); add(wbutton, BorderLayout.WEST); add(cbutton, BorderLayout.CENTER); } } BorderLayoutBeraksi frame = new BorderLayoutBeraksi(); Frame.setVisible(true); }

BoxLayoutBeraksi.java t t * t * public static void main(string[] args) { import java.awt.*; import javax.swing.*;.*; public class BoxLayoutBeraksi extends JFrame { public BoxLayoutBeraksi() { super("boxlayoutberaksi"); setsize(430, 150); setdefaultcloseoperation(jframe.exit_on_close); 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); } } BoxLayoutBeraksi st = new BoxLayoutBeraksi(); }

FlowLayoutBeraksi.java import java.awt.*; bimport java.awt.event.*; t.*; public static t void main(string[] args) { import javax.swing.*;.*; FlowLayoutBeraksi frame = new public class FlowLayoutBeraksi extends JFrame { FlowLayoutBeraksi(); } JButton a = new JButton("Alibi"); lb } 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 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);

CardLayoutBeraksi.java import javax.swing..; * import java.awt. awt * ; class CardLayoutBeraksi{ ad ay a } } 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( ().add(tab,borderlayout.north); frame.setdefaultcloseoperation(jframe.exit_on_close); frame.pack(); frame.setvisible(true);

GridLayoutBeraksi.java import java.awt.*; import java.awt.event.*; t.*; GidL GridLayout import javax.swing.*;.*; GridLayout 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"); } GridLayout GidL tf family = new GridLayout(3, 3, 10, 10); pane.setlayout(family); pane.add(marcia 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); bb add(pane); setvisible(true); public static void main(string[] args) { GridLayoutBeraksi frame = new GidL GridLayoutBeraksi(); ki() } } public GridLayoutBeraksi() { super(" Grid Layout Beraksi "); setsize(260, 260); setdefaultcloseoperation(jframe.exit_on_close); JPanel pane = new JPanel();

Penanganan Kejadian (Event Handling)

Event Event adalah kejadian atau peristiwa yang dilakukan oleh lh user terhadap user interface menggunakan peralatan mouse dan keyboard Setiap objek dapat dinotifikasi jika suatu event terjadi sehingga objek tersebut dapat memutukan apa yang harus dilakukan untuk menanggapi (menangani) event tersebut (event handling) 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 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 extends class adapter (bisa juga dengan membuat inner class) 1. class Hll HelloGUI implements MouseListener{} 2. class HelloGUI extends MouseAdapter{} atau class HelloGUI extends JFrame{ class handler extends MouseAdapter{}} 3. Menuliskan code penangan kejadian pada method class handler extends MouseAdapter{ public void mouseclicked(mouseevent e){ //code penangan kejadian }}

Listener (Semua Komponen Swing) Listener ComponentListener FocusListener KeyListener MouseListener MouseMotionListener MouseWheelListener HierarchyListener HierarchyBoundListener Deskripsi 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 ActionListener Listener Method actionperformed(actionevent) Deskripsi AncestorListener CaretListener CellEditorListener ChangeListener ComponentListener ComponentAdapter ContainerListener ContainerAdapter DocumentListener ExceptionListener ancestoradded(ancestorevent AncestorEvent) ancestormoved(ancestorevent) ancestorremoved(ancestorevent) caretupdate(caretevent CaretEvent) editingstopped(changeevent ChangeEvent) editingcanceled(changeevent) statechanged(changeevent ChangeEvent) componenthidden(componentevent) componentmoved(componentevent ComponentEvent) componentresized(componentevent) componentshown(componentevent componentadded(containerevent ContainerEvent) componentremoved(containerevent) changedupdate(documentevent DocumentEvent) insertupdate(documentevent DocumentEvent) removeupdate(documentevent) exceptionthrown(exception)

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

Listener API Table -3- Listener or Adapter ListDataListener ListSelectionListener MenuDragMouseListener MenuKeyListener MenuListener MouseInputListener MouseInputAdapter Listener Method contentschanged(listdataevent) intervaladded(listdataevent) intervalremoved(listdataevent ListDataEvent) t t) valuechanged(listselectionevent) menudragmousedragged(menudragmouseevent) menudragmouseentered(menudragmouseevent) menudragmouseexited(menudragmouseevent) menudragmousereleased(menudragmouseevent) menukeypressed(menukeyevent MenuKeyEvent) menukeyreleased(menukeyevent) menukeytyped(menukeyevent) menucanceled(menuevent) menudeselected(menuevent) menuselected(menuevent) mouseclicked(mouseevent MouseEvent) mouseentered(mouseevent) mouseexited(mouseevent) mousepressed(mouseevent MouseEvent) mousereleased(mouseevent) mousedragged(mouseevent) mousemoved(mouseevent) Deskripsi

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

Listener API Table -5- Listener Lste e or Adapter Listener Lste e Method Deskripsi TreeExpansionListener TreeModelListener TreeSelectionListener TreeWillExpandListener UndoableEditListener VetoableChangeListener WindowFocusListener WindowAdapter WindowListener WindowAdapter WindowStateListener WindowAdapter treecollapsed(treeexpansionevent) treeexpanded(treeexpansionevent) treenodeschanged(treemodelevent) treenodesinserted(treemodelevent) treenodesremoved(treemodelevent) treestructurechanged(treemodelevent) valuechanged(treeselectionevent) treewillcollapse(treeexpansionevent) treewillexpand(treeexpansionevent) undoableedithappened(undoableeditevent) vetoablechange(propertychangeevent) windowgainedfocus(windowevent) windowlostfocus(windowevent) windowactivated(windowevent) windowclosed(windowevent) windowclosing(windowevent) windowdeactivated(windowevent) windowdeiconified(windowevent) windowiconified(windowevent) windowopened(windowevent) windowstatechanged(windowevent)

Referensi -1- Sharon Zakhour et al, The Java Tutorial Fourth Edition, http://java.sun.com/docs/books/tutorial Deitel & Deitel, Java How to Program Sixth Edition, Prentice Hall, 2004 Kathy Sierra & Bert Bates, Head First Java 2nd Edition, O Reilly, 2005 Rogers Cadenhead d & Laura Lemay, Teach Yourself Java 6 in 21 Days, Sams Publishing, 2007 Robert Lafore, Data Structures and Algorithms in Java Second Edition, Sams Publishing, 2003

Referensi -2- Tim Pengembang JENI, JENI 1-6, Depdiknas, 2007 Abdul Kadir, Dasar Pemrograman Java 2, Penerbit Andi, 2004 Indrajani dan Martin, Pemrograman Berbasis Objek dengan Java, Elex Media Komputindo, 2007 LN Harnaningrum, Algoritma dan Pemrograman Java, Graha Ilmu, 2009 Rachmad Hakim & Sutarto, Mastering Java, Elex Media Komputindo, 2009