Jumat, 16 Desember 2011

Penanganan Kejadian (event handling)

Penanganan Kejadian

package :
java.awt.event dan javax.swing.event

agar komponen dapat menangani kejadian, kompnen tsb harus :
1. didaftarkan menjadi pendengar (listener), contoh :

JButton tombolSelesai = new JButton("Selesai");
tombolSelesai.addActionListener(this);

scra umum bentuk metode nya :
    addxxxListener()

2. Harus mengimplementasikan suatu interface listener
3. Membuat object suatu kelas yang merupakan kelas adapter
4. Menulis kode pada metode penanganan kejadian

kelas adapter adalah kelas bawaan java yang mengandung nama adapter
                     dibagian belakang dan merupakan kelas abstrak
        yang merupakan implementasi dari suatu interface listener.

contoh :
windowAdapter = kelas abstrak yang mengimplementasi interface WindowListener
MouseAdapter = ----" ---- MouseListener

contoh program :

bSubmit.addActionListener(new ActionListener()
        {
            public void actionPerformed(ActionEvent e)
            {
                oNama.setText(tNama.getText());
            }
        } );
kelas dan interface pada java :

kejadian dan interface  |    metode --> listener     |     Komponen
------------------------------- |-----------------------------------------    |-------------------------------------
ActionEvent       |    addActionListener     |     JButton, JList dll
ActionListener      |            |   
--------------------------------|-------------------------------------------|--------------------------------------
 AdjusmentEvent      |              |
AdjustmentListener      |     addAdjusmentListener |     JScrollBar
------------------------------- | -------------------------------------------| ------------------------------------
 dll.

Listener dan metode penanganan kejadian :

Listener / Adapter      |     Metode
--------------------------    | -------------------------------------------------------
ActionListener     |     actionPerformed(ActionEvent)
--------------------------    | -------------------------------------------------------
AdjusmentListener     |     adjustmentValueChanged (AdjustmentEvent)
--------------------------    | -------------------------------------------------------
dll.


Listener         Interface             Listener Methods

ActionEvent     ActionListener         actionPerformed(ActionEvent)
ItemEvent     ItemListener         itemStateChanged(ItemEvent)
MouseEvent     MouseListener         mousePressed(MouseEvent)
                        mouseReleased

(MouseEvent)
                        mouseEntered(MouseEvent)
                        mouseExited(MouseEvent)
                        mouseClicked(MouseEvent)
                      MouseMotionListener

mouseDragged(MouseEvent)



konsep laen :

Dalam event handling pada Java ada empat bagian penting yang harus diketahui:

1.Event Object merupakan object yang mendiskripsikan sebuah event yang di-

trigger oleh event source.

2.Event Handler merupakan method yang menerima event object dan melakukan

respond yang sesuai dengan event object tersebut.

3.Event Listener merupakan interface yang akan meng-handle event yang terjadi.

setiap type event mempunyai interface yang bersesuaian. Listener tersebut harus

diimplementasikan oleh class yang akan meng-handle event

4.Event Source merupakan pembangkit / trigger sebuah event objects
setiap event object mempunyai  type event yang berbdea beda.

sehingga kita harus menentukan type event sebelum menentukan jenis interface

listener. karena setiap type event mempunyai jenis interface listener yang

bersesuaian.

berikut ini type type event yang ada di Java :

1.ActionEvent
2.ItemEvent
3.WindowEvent
4.ContainerEvent
5.ComponentEvent
6.FocusEvent
7.TextEvent
8.KeyEvent
9.MouseEvent
10.AdjustmentEvent

Berikut ini Interface Listener

1.ActionListener
2.ItemListener
3.WindowListener
4.ContainerListener
5.ComponentListener
6.FocusListener
7.TextListener
8.KeyListener
9.MouseListener
10.MouseMotionListener
11.AdjustmentListener

Berdasarkan tulisan diatas, setiap type event mempunyai satu jenis interface listener

kecuali MouseEvent yang mempunyai dua jenis interface listener. dan setiap

interface mempunyai method abstract yang harus di override class yang meng-

impletasikan interface.


event listener dan event handler terdapat pada package java.awt.event

Bagaimana event handling dalam Java? ada tiga langkah penting dalam event

handling

1.Deklarasikan class yang akan meng-handle event yang terjadi dan tuliskan code

yang menyatakan class tersebut meng-implement interface listener
2.Event source mendaftarkan sebuah listener melalui method add<type>Listener
3.Kode yang mengimplementasikan method pada interface listener pada class yang

akan meng-handle event. [ Override ]

Contoh program sederhana :

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class Penjumlahan2Field extends JFrame
{
    JLabel labelData1,labelData2,labelHasil;
    JTextField field1,field2,field3;
    JButton button;
   
    public Penjumlahan2Field()
    {
        setLayout(null);
        labelData1=new JLabel("Data 1 = ");
        field1=new JTextField(8);
        labelData2=new JLabel("Data 2 = ");
        field2=new JTextField(8);
        labelHasil=new JLabel("Hasil = ");
        field3=new JTextField(8);       
        button=new JButton("+");
       
        labelData1.setBounds(10,10,80,25);
        field1.setBounds(65,10,80,25);
        labelData2.setBounds(10,40,80,25);
        field2.setBounds(65,40,80,25);
        labelHasil.setBounds(10,70,80,25);
        field3.setBounds(65,70,80,25);
        button.setBounds(65,120,50,25);
       
        add(labelData1);
        add(field1);
        add(labelData2);
        add(field2);
        add(labelHasil);
        add(field3);
        add(button);
       
        ActionListener listener = new Penjumlahan2Field.Handler();
        button.addActionListener(listener);   
    }
   
    class Handler implements ActionListener{
        public void actionPerformed(ActionEvent e){
            String s = e.getActionCommand();
           
            if(s.equals("+")){
                String data1=field1.getText();
                String data2=field2.getText();
               
                int a=Integer.parseInt(data1);
                int b=Integer.parseInt(data2);       

       
                int hasil=a+b;
                field3.setText(Integer.toString(hasil));
            }
        }
    }
   
    public static void main(String [] args)
    {
        Penjumlahan2Field frame=new Penjumlahan2Field();
        frame.setTitle("Penjumlahan");
        frame.setSize(200,200);
        //frame.setLocationRelationTo(null);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
    }
}

Tidak ada komentar:

Posting Komentar

TUGAS BASIS DATA

TUGAS BASIS DATA SOAL PRAKTIK BASIS DATA (TENTANG MENGGUNAKAN SQL DAN KLASIFIKASINYA) Sebuah sekolah akan membuat syste...