Sabtu, 02 Juni 2012

Form dan Event Handler

TUGAS 8
Form dan Event Handler


       Event Handling
            Event Handling adalah suatu metode untuk menangani sebuah event/aksi yang diberikan pengguna kepada suatu komponen GUI. Event adalah suatu peristiwa yang dipicu oleh pengguna pada suatu komponen, misalnya tombol ditekan. Dua paket yang biasa digunakan menangani kejadian adalah java.awt.event dan java.swing.event. Event handling dalam menangani event terbagi menjadi 3 macam yaitu Event Source, Event Listener, dan Event Handler.
1.    Event Source
Event Source adalah komponen yang mendapatkan suatu event yang kemudian ditangkap oleh Event Listener. Event Source dapat dibedakan dari penamaan komponen itu sendiri, misalnya tombolSimpan, tombolhapus, dan lainnya. Dengan penamaan Event Source ini, Sebuah Event Listener akan dapat mendeteksi dari mana Event Listener tersebut berasal.
2.    Event Listener
Event Listener digunakan untuk menangkap event yang terjadi pada komponen/Event Source. Dibawah ini disajikan beberapa listener yang dapat digunakan dalam mendeteksi event.
Event Listener
Fungsi
Action Listener
Untuk menangani reaksi atas perubahan status pada objek yang digunakan. Misalnya akibat penekanan tombol mouse atau keyboard.
AdjusmentListener
Untuk menangani reaksi atas perubahan status pada objek yang digunakan pada saat penyesuaian. Misalnya akibat dari penggeseran scrollbar.
FocusListener
Untuk menangani reaksi atas perubahan status akibat fokus berada pada objek tertentu. Misalnya kursor berada pada textfield.
ItemListener
Untuk menangani reaksi atas perubahan status pada pilihan yang terdapat pada objek tertentu. Misalnya pemilihan pada checkbox atau radiobutton.
KeyListener
Untuk menangani reaksi dari keyboard. Misalnya penekanan tombol Ctrl, Alt, dan sebagainya.
MouseListener
Untuk menangani reaksi dari penekanan tombol pada mouse.
MouseMotionListener
Untuk menangani reaksi akibat mouse digerakkan, Misalkan melewati komponen tertentu.
MouseWheelListener
Untuk menangani reaksi event scroll pada mouse.
TextListener
Untuk menangani event pada teks.
WindowListener
Untuk menangani reaksi atas perubahan jendela akibat ukuran diperbesar, dikecilkan, dipindah maupun ditutup.
WindowFocusListener
Untuk menangani reaksi pada jendela.
WindowStateListener
Untuk menangani status event jendela.
3.    Event Handler
Event Handler berupa blok method dari listener yang menentukan proses selanjutnya setelah komponen mendapatkan event. Misalkan pada event tombol Simpan ditekan, event listener akan menangkap event pada Event Source tombol Simpan, kemudian Event Handler akan menyimpan data yang didefinisikan pada blok Event Handler.



PEMBAHASAN


4.1.  Contoh Pemrograman Java
package Event.Handling;

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

public class EventHandler extends JFrame {
    private JButton btn;
    public EventHandler () {
        super("Event Handler");
        Container c = getContentPane();
        c.setLayout(new FlowLayout());
        btn = new JButton("Button");
        c.add(btn);
       
        ButtonHandler handler = new ButtonHandler();
        btn.addActionListener(handler);
        setSize(275, 100);
        show();
    }

    public static void main(String args[]) {
        EventHandler event = new EventHandler() {};
        event.addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent we) {
                System.exit(0);
            }
        });
    }

    private class ButtonHandler implements ActionListener {
        public void actionPerformed(ActionEvent ae) {
JOptionPane.showMessageDialog(null,"Anda telah menekan " + ae.getActionCommand()+"\n"
            + "Handler button ini pakai kelas Inner");            
        }
    }
}

Output / Keluaran dari program di atas :



4.2.  Contoh Pemrograman C#
using System;
using System.ComponentModel;
using System.Windows.Forms;
using System.Drawing;

public class Event : Form  {
TextBox textbox1 = new TextBox();
Button button1 = new Button();
private Button button2 = new Button();
private Label label1 = new Label();
int xButtonSize, yButtonSize;

public Event() : base() {
this.Text = "Pemrograman C#";
textbox1.Location = new Point(100,35);
textbox1.BackColor = System.Drawing.Color.White;

button1.Text = "Click";
button1.Location = new Point(125,70);
button1.Size = new Size(50,20);

// Invoking Method or EventHandler
button1.Click += new EventHandler(Button_Click);

this.Controls.Add(textbox1);
this.Controls.Add(button1);

button2.Parent = this;
button2.Text = "Show Button Properties";

Size = new Size(300,300);

xButtonSize = (int)(Font.Height * .75) * button2.Text.Length;
yButtonSize = Font.Height * 2;
button2.Size = new Size(xButtonSize, yButtonSize);
button2.Click += new System.EventHandler(button2_Click);

label1.Text = "Control Size and Location - Dynamic";
label1.AutoSize = true;
label1.Parent = this;
OnResize(EventArgs.Empty);
}

//Applying EventHandler
public void Button_Click(object sender,EventArgs e) {
textbox1.Text = "Hello C#";
textbox1.BackColor = System.Drawing.Color.Silver;
}

protected override void OnResize(EventArgs e) {
base.OnResize(e);

int xPosition = (int)(this.ClientSize.Width / 2) - (int)(xButtonSize / 2);
int yPosition = (int)(this.ClientSize.Height / 2) - (int)(yButtonSize / 2);
button2.Location = new Point(xPosition, yPosition);
}
    
public static void Main() {
Application.Run(new Event());
}

private void button2_Click(object sender, EventArgs e) {
Console.WriteLine("Button Bottom     : " + button2.Bottom.ToString());
Console.WriteLine("Button Top        : " + button2.Top.ToString() );
Console.WriteLine("Button Left : " + button2.Left.ToString() );
Console.WriteLine("Button Right      : " + button2.Right.ToString() );
Console.WriteLine("Button Location   : " + button2.Location.ToString() );
Console.WriteLine("Button Width      : " + button2.Width.ToString() );
Console.WriteLine("Button Height     : " + button2.Height.ToString() );
Console.WriteLine("Button Size : " + button2.Size.ToString() );
Console.WriteLine("Button ClientSize : " + button2.ClientSize.ToString() );
Console.WriteLine("Font:" + button2.Font.ToString());
}
}

Output / Keluaran dari program di atas :



1 komentar:

  1. NJ Sports Betting & Gambling - Dr.MCD
    It's the 의왕 출장마사지 most popular of 강원도 출장샵 all 용인 출장샵 NJ sports betting websites. As of today, there are 11 sports betting sites available to 하남 출장안마 bet on (NJ) 과천 출장샵

    BalasHapus