12 Event

Post on 10-Feb-2015

894 views 0 download

description

 

Transcript of 12 Event

Pengendali Pengendali PeristiwaPeristiwa

Marini Abu BakarMarini Abu BakarJabatan Sains KomputerJabatan Sains Komputer

PengenalanPengenalan Peristiwa (Peristiwa (event) event) adalah suatu isyarat adalah suatu isyarat

yang dihantar kepada aturcara bagi yang dihantar kepada aturcara bagi memberitahu sesuatu telah berlaku. memberitahu sesuatu telah berlaku.

Beberapa keadaan yang menjana Beberapa keadaan yang menjana peristiwa:peristiwa: Komponen butang diklikKomponen butang diklik Tombol penggelungsur diubah kedudukanTombol penggelungsur diubah kedudukan Tetikus digerakkanTetikus digerakkan Papan kekunci ditekanPapan kekunci ditekan

Sebarang sistem pengoperasian yang Sebarang sistem pengoperasian yang menyokong antara muka bergrafik menyokong antara muka bergrafik perlu melakukan pemantauan untuk perlu melakukan pemantauan untuk mengesan sebarang peristiwa yang mengesan sebarang peristiwa yang berlaku. berlaku.

Apabila suatu peristiwa dikesan, ia akan Apabila suatu peristiwa dikesan, ia akan melaporkan peristiwa itu kepada atur melaporkan peristiwa itu kepada atur cara yang sedang dilaksanakan. Atur cara yang sedang dilaksanakan. Atur cara pula akan memberi tindakbalas cara pula akan memberi tindakbalas terhadap peristiwa tersebut. terhadap peristiwa tersebut.

Dalam Java, suatu peristiwa Dalam Java, suatu peristiwa disekutukan dengan sumber dan disekutukan dengan sumber dan pendengar-pendengarnya pendengar-pendengarnya sumber peristiwasumber peristiwa ( (event sourceevent source) )

merujuk kepada objek yang mencetuskan merujuk kepada objek yang mencetuskan peristiwa itu peristiwa itu

pendengar peristiwapendengar peristiwa ( (event listenerevent listener) ) merujuk kepada objek yang perlu diberi merujuk kepada objek yang perlu diberi pemberitahuan (pemberitahuan (notificationnotification) oleh sumber ) oleh sumber peristiwa mengenai peristiwa tersebut peristiwa mengenai peristiwa tersebut

Suatu objek yang berminat menerima Suatu objek yang berminat menerima pemberitahuan mengenai suatu pemberitahuan mengenai suatu peristiwa perlu mengimplementasikan peristiwa perlu mengimplementasikan antara muka pendengar (listener antara muka pendengar (listener interface) yang berkenaan. interface) yang berkenaan.

Objek tersebut kemudiannya perlu Objek tersebut kemudiannya perlu mendaftarkan dirinya dengan sumber mendaftarkan dirinya dengan sumber peristiwa sebagai satu daripada peristiwa sebagai satu daripada pendengar bagi peristiwa itu pendengar bagi peristiwa itu

Apabila suatu peristiwa berlaku, Apabila suatu peristiwa berlaku, sumber peristiwa akan menghantar sumber peristiwa akan menghantar pemberitahuan kepada setiap pemberitahuan kepada setiap pendengar bagi peristiwa itu pendengar bagi peristiwa itu bersama-sama suatu objek peristiwa bersama-sama suatu objek peristiwa yang mengandungi maklumat yang mengandungi maklumat mengenai peristiwa tersebut mengenai peristiwa tersebut

Apabila pendengar menerima Apabila pendengar menerima pemberitahuan serta objek peristiwa pemberitahuan serta objek peristiwa daripada sumber peristiwa, ia akan daripada sumber peristiwa, ia akan bertindakbalas menggunakan bertindakbalas menggunakan maklumat yang terdapat dalam maklumat yang terdapat dalam objek peristiwa tersebut objek peristiwa tersebut

Kelas java.awt.eventKelas java.awt.event

Selected User ActionsSelected User ActionsSource Event Type

User Action Object Generated

Clicked on a button JButton ActionEvent

Changed text JTextComponent TextEvent

Double-clicked on a list item JList ActionEvent

Selected or deselected an item JList ItemEvent with a single click

Selected or deselected an item JComboBox ItemEvent

The Delegation ModelThe Delegation Model

Selected Event Selected Event HandlersHandlers

Event Class Listener Interface Listener Methods (Handlers)ActionEvent ActionListener actionPerformed(ActionEvent)ItemEvent ItemListener itemStateChanged(ItemEvent)WindowEvent WindowListener windowClosing(WindowEvent)

windowOpened(WindowEvent)windowIconified(WindowEvent)windowDeiconified(WindowEvent)windowClosed(WindowEvent)windowActivated(WindowEvent)windowDeactivated(WindowEvent)

ContainerEvent ContainerListener componentAdded(ContainerEvent)componentRemoved(ContainerEvent)

Komponen Butang diklikKomponen Butang diklik

AppletviewerAppletviewer

::

import java.awt.event.*;import java.awt.event.*;

::

public class ApletPembilang extends JApplet implements public class ApletPembilang extends JApplet implements ActionListener {ActionListener {

public void init() {public void init() {

::

butang = new JButton(“++”);butang = new JButton(“++”);

butang.addActionListener(this);butang.addActionListener(this);

::

}}

public void actionPerformed(ActionEvent e) {public void actionPerformed(ActionEvent e) {

::

}}

}} ApletPembilang.javaApletPembilang.java

Kekunci Enter ditekanKekunci Enter ditekan

AppletviewerAppletviewer

ApletJumlah.javaApletJumlah.java

Kekunci Enter ditekanKekunci Enter ditekan

AppletviewerAppletviewer

ApletIndeksBeratBadan.javaApletIndeksBeratBadan.java

Menformat Output Nombor Menformat Output Nombor NyataNyata

::

import java.text*;import java.text*;

::

public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {

::

indeks = ...;indeks = ...;

DecimalFormat format2 = new DecimalFormat format2 = new DecimalFormat("0.00");DecimalFormat("0.00");

s = format2.format(indeks);s = format2.format(indeks);

output.setText("Indeks Berat Badan Anda ialah " + s);output.setText("Indeks Berat Badan Anda ialah " + s);

}}

}} AppletviewerAppletviewer

ItemEventItemEvent

AppletviewerAppletviewerApletKomputer.javaApletKomputer.java

ChangeEventChangeEvent

AppletviewerAppletviewerSpektrumWarna.javaSpektrumWarna.java

RunRunTextFieldDemoTextFieldDemo

Latihan: ActionEventLatihan: ActionEvent

RunRunRadioButtonDemoRadioButtonDemo

Latihan: ItemEventLatihan: ItemEvent

MortgageAppletMortgageApplet Run Applet ViewerRun Applet Viewer

Latihan: ActionEventLatihan: ActionEvent

monthlyPayment = monthlyPayment =

loanAmount * monthlyInterestRate / loanAmount * monthlyInterestRate / (1 - (Math.pow(1 / (1 + (1 - (Math.pow(1 / (1 + monthlyInterestRate), numOfYears * monthlyInterestRate), numOfYears * 12))); 12)));

totalPayment =totalPayment =

monthlyPayment * numOfYears * 12; monthlyPayment * numOfYears * 12;