Penanganan Kejadian (event handling)

12/07/2017
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);

secara 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 lain :
Dalam event handling pada Java ada empat bagian penting yang harus diketahui:

1.Event Object merupakan object yang mendiskripsikan sebuah event yang ditrigger 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 di implementasikan 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 mengimpletasikan 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);
    }
}

Link: http://mahmudtajinan.blogspot.co.id/2011/12/penanganan-kejadian-event-handling.html

Artikel Terkait

Next Article
« Prev Post
Previous Article
Next Post »
Penulisan markup di komentar
  • Untuk menulis huruf bold gunakan <strong></strong> atau <b></b>.
  • Untuk menulis huruf italic gunakan <em></em> atau <i></i>.
  • Untuk menulis huruf underline gunakan <u></u>.
  • Untuk menulis huruf strikethrought gunakan <strike></strike>.
  • Untuk menulis kode HTML gunakan <code></code> atau <pre></pre> atau <pre><code></code></pre>, dan silakan parse kode pada kotak parser di bawah ini.

Disqus
Tambahkan komentar Anda

Tidak ada komentar