View
891
Download
0
Category
Preview:
DESCRIPTION
Citation preview
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;
Recommended