Matakuliah : M0864/Programming I Tahun : 2009 Event-Driven Programming Pertemuan 5 Learning Outcomes Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu: – menerapkan penggunaan event-driven dan handling event pada pemograman Java. Bina Nusantara Outline Materi • • • • • Introduction Event Handling Event Mouse Event Key Event Bina Nusantara Introduction • Procedural programming dijalankan oleh procedural programming • Dalam event-driven programming, kode dijalankan oleh event-event yang telah diaktifasi. • Contoh : sebuah tombol dalam frame yang diklik akan menampilkan pesan di console ketika tombol diklik. Event • Sebuah Event dapat didefinisikan sebagai sebuah tipe signal untuk program jika terjadi sesuatu. • Event digeneralisasi oleh external user, seperti pergerakan mouse, ketika mouse diklik, penekanan tombol, atau dari operating system seperti sebuah timer. • Merupakan bagian dari package AWT Event • Event Classes EventObject AWTEvent ListSelectionEvent ActionEvent ContainerEvent AdjustmentEvent FocusEvent ComponentEvent InputEvent ItemEvent PaintEvent TextEvent WindowEvent MouseEvent KeyEvent Event • Event Information – Sebuah event object terdiri dari properti-properti yang berhubungan dengan kejadian. – Kita dapat mengidentifikasi sumber objek dari event dengan menggunakan getSource() yang merupakan instance method pada EventObject class. – Tipe-tipe event yang berhubungan dengan EventObject seperti button Actions, windows events, component events, mouse movements, dan keystrokes. Event User Action Source Object Event Type Generated Click a button JButton ActionEvent Click a check box JCheckBox ItemEvent, ActionEvent Click a radio button JRadioButton ItemEvent, ActionEvent Press return on a text field JTextField ActionEvent Select a new item JComboBox ItemEvent, ActionEvent Window opened, closed, etc. Window WindowEvent Mouse pressed, released, etc. Component MouseEvent Key released, pressed, etc. Component KeyEvent Handling Event • The Delegation Model Trigger an event source: SourceClass User Action XListener +addXListener(listener: XListener) (a) A generic source component with a generic listener +handler(event: XEvent) Register by invoking source.addXListener(listener); listener: ListenerClass source: JButton ActionListener +addActionListener(listener: ActionListener) +actionPerformed(event: ActionEvent) (b) A JButton source component with an ActionListener Register by invoking source.addActionListener(listener); listener: CustomListenerClass Handling Event Event Class Listener Interface Listener Methods (Handlers) ActionEvent ItemEvent WindowEvent ActionListener ItemListener WindowListener ContainerEvent ContainerListener MouseEvent MouseListener KeyEvent KeyListener actionPerformed(ActionEvent) itemStateChanged(ItemEvent) windowClosing(WindowEvent) windowOpened(WindowEvent) windowIconified(WindowEvent) windowDeiconified(WindowEvent) windowClosed(WindowEvent) windowActivated(WindowEvent) windowDeactivated(WindowEvent) componentAdded(ContainerEvent) componentRemoved(ContainerEvent) mousePressed(MouseEvent) mouseReleased(MouseEvent) mouseClicked(MouseEvent) mouseExited(MouseEvent) mouseEntered(MouseEvent) keyPressed(KeyEvent) keyReleased(KeyEvent) keyTypeed(KeyEvent) Handling Event • Sample Code : • Output : Handling Event Jika Button “OK” di klik maka muncul Jika Button “CanCel” di klik maka muncul Mouse Event • Sebuah mouse event dapat terjadi ketika mouse ditekan, dilepas, diklik, digeser, atau di-drag pada sebuah komponen. • Objek Mouse-Event akan mengambil event-event seperti jumlah klik yang berhubungan dengannya atau lokasi (X dan Y) dari mouse. • Ada 2 listener interfaces : – MouseListener • Tekan, lepas, masuk, keluar atau mengklik mouse – MouseMotionListener • Drag dan pergerakan mouse. Mouse Event • Handling Mouse Event java.awt.event.MouseListener +mousePressed(e: MouseEvent): void Invoked when the mouse button has been pressed on the source component. +mouseReleased(e: MouseEvent): void Invoked when the mouse button has been released on the source component. +mouseClicked(e: MouseEvent): void Invoked when the mouse button has been clicked (pressed and released) on the source component. +mouseEntered(e: MouseEvent): void Invoked when the mouse enters the source component. +mouseExited(e: MouseEvent): void Invoked when the mouse exits the source component. java.awt.event.MouseMotionListener +mouseDragged(e: MouseEvent): void Invoked when a mouse button is moved with a button pressed. +mouseMoved(e: MouseEvent): void Invoked when a mouse button is moved without a button pressed. Key Event • Inputan dari keyboard. • Sebuah key event dapat terjadi bila sebuah tombol keyboard ditekan, dilepas atau diketik pada sebuah komponen. • Handler pada interface KeyListener : – keyPressed(KeyEvent e) • Dipanggil ketika sebuah tombol keybord ditekan – keyReleased(KeyEvent e) • Dipanggil ketika sebuah tombol keybord dilepas – keyTyped(KeyEvent e) • Dipanggil ketika sebuah tombol keybord ditekan dan kemudian dilepas Key Event • Methods: getKeyChar() method getKeyCode() method • Keys: Home VK_HOME End VK_END Page Up VK_PGUP Page Down VK_PGDN Up-arrow key VK_UP dll Key Event java.awt.event.InputEvent java.awt.event.KeyEvent +getKeyChar(): char Returns the character associated with the key in this event. +getKeyCode(): int Returns the integer keyCode associated with the key in this event. Key Event • Output: Key Event Ketika ditekan tanda panah kanan Referensi • • Introduction to Java. 7ed. 2009. Liang. Chapter 15. Java and Event Handling http://www.javaworld.com/javaworld/jw-08-1996/jw-08-event.html • Event-Driven Programming in Java http://www.cs.sjsu.edu/faculty/beeson/courses/cs160/LectureNot es/12-EventDrivenProgramming.html Bina Nusantara
© Copyright 2026 Paperzz