Event Handling

Di postingan saya yang ke 3 ini, saya akan membagi ilmu tentang Event Handling :D

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] (sumber : Sumber Intro 2 Modul 8 JENI)
Event Handling merupakan konsep penanganan suatu action yang terjadi. Jadi suatu program akan berjalan saat sesuatu terjadi, misalnya saat tombol diklik, saat combo box dipilih dan sebagainya. Java memiliki beberapa jenis Event Handling, salah satunya adalah class ActionListener yang menangani aksi terhadap tombol. Berikut ini contoh programnya:
Tampilan:
contoh-program-event-handling-java

Program:
01import java.awt.*;
02import java.awt.event.*;
03import javax.swing.*;
04 
05public class ClickMe extends JFrame implements ActionListener {
06    private JButton tombol;
07 
08    public ClickMe() {
09        super ("Event Handling");  
10 
11        Container container = getContentPane();
12        container.setLayout(new FlowLayout());     
13 
14        tombol = new JButton ("Click Me!");
15        tombol.addActionListener(this);
16        container.add(tombol);     
17 
18        setSize (200,100);
19        setVisible (true);
20    }
21 
22    public static void main (String arg[]) {
23        ClickMe test = new ClickMe();
24        test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
25    }
26 
27    public void actionPerformed (ActionEvent e) {
28        if (e.getSource() == tombol) {
29            JOptionPane.showMessageDialog(null, "You click me, guys !!!");
30        }
31    }
32}
Selamat mencoba (sumber : http://contohprogram.info/java/contoh-event-handling-di-java.html)

Java GUI

Asalamu'alaikum...
Kita berjumpa lagi di postingan saya yang berikutnya :D
Setelah kita membahas tentang Stream IO, sekarang kita akan membahas tentang Java GUI. Apa itu?? Check this out !!

Java GUI merupakan sebuah konsep yang memadukan dua buah teknologi yang ada yaitu Java dan GUI (Graphical User Interface). Seperti kita ketahui bersama Java merupakan bahasa pemrograman yang sudah mulai banyak digunakan saat ini karena beberapa kelebihan yang dimiliki seperti kemampuan multiplatform yang dimiliki, OOP, pustaka Class yang lengkap dsb.
Sejarah Adapun pada versi awal peluncurannya pada tahun 1996 (selanjutnya disebut versi 1.0), bahasa pemrograman ini menyertakan beberapa paket standar yakni :
  1. java.lang yakni sebuah kelas untuk elemen-elemen dasar
  2. java.io yang merupakan kelas input dan output termasuk penggunaan file
  3. java.util yakni kelas pelengkap seperti kelas struktur data dan kelas penanggalan
  4. java.net yakni kelas TCP/IP (untuk jaringan)
  5. java.awt yakni kelas dasar untuk aplikasi antarmuka dengan pengguna (GUI)
  6. java.applet yakni kelas dasar aplikasi antarmuka untuk browser
Sejak awal dibuatnya oleh Sun Microsystem, Java diorientasikan agar memiliki perangkat bergaya desktop dengan ToolkitJava yang dikenal dengan nama AWT (Abstract Windowing Toolkit). Kemudian pada tahun 1997 muncul JFC (Java Foundation Class) untuk kepentingan pembuatan aplikasi Window yang merupakan pengembangan dari AWT. JFC ini mempunyai kode swing yang terdapat pada package yang disediakan pada JAVA SDK versi 1.2 ke atas (Java 2).

GUI (Graphical User Interface) merupakan sebuah teknologi antarmuka pengguna yang memungkinkan seseorang untuk berinteraksi dengan program dengan berbagai cara selain mengetik seperti halnya komputer, MP3 Player dll yang berisikan banyak tombol bergambar/icon dibandingkan teks. GUI yang merupakan kebalikan dari CLI (Command Line Interface) menggunakan icon grafis atau indikator visual untuk kenyamanan user.

Java sendiri menyediakan dua buah pustaka grafis dalam paketnya yaitu AWT dan Swing. Keduanya menyediakan komponen GUI yang dapat digunakan dalam membuat aplikasi Java dan Applet. Tidak seperti komponen AWT yang menggunakan native code, keseluruhan Swing menyediakan implementasi platform-independent dimana aplikasi yang dikembangkan dengan platform yang berbeda dapat memiliki tampilan yang sama.
Terdapat 4 hal yang perlu diperhatikan pada pemrograman GUI ini yaitu :
  1. Container (tempat) yaitu obyek yang dapat menampung komponen grafis dan tempat yang lebih kecil. Contoh : frames, panels.
  2. Component yaitu obyek yang berfungsi untuk menampilkan data, menerima masukan atau menunjukkan suatu kondisi. Contoh : buttons, labels dan text fields.
  3. Event yaitu obyek yang merepresentasikan suatu kejadian. Contoh gerakan mouse, penekanan tombol.
  4. Listener yaitu suatu obyek yang ‘menunggu’ suatu kejadian khusus dan akan bereaksi (melakukan sesuatu) jika kejadian tersebut terjadi.
Contoh penerapannya seperti ini : 
Software ini sudah berbasis GUI, karena tampilannya sudah bersahabat oleh user.

Stream IO

Yak , berjumpa lagi dengan saya Yudha :D yang setelah sekian lama tak muncul di blog, haha..
Kali ini saya akan posting tentang bebrapa ilmu atau materi dari JAVA yang saya dapat dari sekolah, SMK Telkom Sandhy Ptra Malang :)

Yang pertama adalah tentang Stream IO..

 A. PENGERTIAN
Sistem IO di Java adalah bagian dari library Java yang bertugas menangani input dan output dalam sebuah program Java. Input dan output ini bentuknya bisa bermacam-macam, di antaranya:
  1. Menangani input dan output dari dan ke standar output
  2. Menangani operasi file (membaca atau menulis file)
  3. Memproses data yang masuk melalui soket, dll
Arsitektur library IO di Java dirancang sedemikian rupa sehingga memudahkan dilakukannya ekstensi terhadap library yang sudah ada. Akan tetapi, rancangan tersebut membuat banyak orang yang baru belajar Java menjadi agak sulit untuk memahami sistem IO ini. Di post ini saya akan mencoba menjelaskan dasar dari sistem IO ini.

Pada dasarnya, membaca atau menulis IO itu adalah melakukan operasi pembacaan dan penulisan array of byte. Untuk urusan input, kelas dasar yang digunakan adalah java.io.InputStream, sementara untuk urusan output yang digunakan adalah kelas java.io.OutputStream. Kedua kelas tersebut merupakan kelas abstrak yang akan menjadi kelas dasar dalam IO di Java. Kelas-kelas yang mengimplementasikan InputStream antara lain AudioInputStream untuk membaca file dalam format audio, ByteArrayInputStream untuk membaca input dalam format byte array.


Walaupun sebenarnya operasi IO adalah operasi pembacaan dan penulisan array of byte, akan tetapi seringkali kita butuh untuk membaca dan menulis dalam format teks. Untuk lebih memudahkan dalam melakukan hal tersebut, Java menyediakan kelas abstrak Reader untuk melakukan operasi pembacaan stream dalam format teks dan kelas abstrak Writer untuk melakukan penulisan dalam format teks. Kelas-kelas yang mengimplementasikan kelas Reader antaranya InputStreamReader, BufferedReader, dan FileReader. (sumber : http://ngodingdulu.wordpress.com/2011/08/07/mengenal-sistem-io-di-java/)

B. KONSEP DASAR
Stream adalah representasi abstrak dari aliran data yang berjalan dari sumber (input stream) ke tujuan (output stream)

contohnya :
-membaca dan menulis file di dan ke harddisk
-membaca dan menulis teks ke console
-membaca dan menulis melalui network

Untuk membaca, program membuka stream pada sumber ( file, memory, socket) dan membaca informasi secara sekuensial.



Untuk menulis, program mengirim informasi ke tujuan dengan cara membuka stream tujuan, selanjutnya menulis informasi secara sekuensial.
 Byte Stream
 Character Stream

 Cara menggunakan Stream:
-input stream:
  1. Membuat objek yg berasosiasi dengan data source Contoh : FileInputStream
  2. Membaca informasi dari stream dengan menggunakan method objek tersebut Contoh: read()
  3. Bila selesai, panggil method close. 
 -output stream:
  1. Membuat objek yg berasosiasi dg data destination. Contoh : BufferedWriter
  2. Menulis informasi ke stream tujuan dg menggunakan method objek tersebut. Contoh: write() 
  3. Bila selesai, panggil method close.

InputStream dan OutputStream adalah abstract class untuk stream I/O, yaitu untuk membaca dan menulis data dari dan ke file.
Untuk membaca digunakan class yang mengimplementasikan InputStream, contoh : FileInputStream.
Untuk menulis digunakan class yang mengimplementasikan OutputStream, contoh : FileOutputStream.
Hirarki Class InputStream dan OutputStream
InputStream
  • FileInputStream 
  • ByteArrayInputStream 
  • FilterInputStream 
  • DataInputStream 
  • BufferedInputStream 
  • PushbackInputStream 
  • ObjectInputStream 
  • PipedInputStream 
  • SequenceInputStream
 OutputStream
  • FileOutputStream 
  • ByteArrayOutputStream 
  • FilterOutputStream
  • DataOutputStream
  • BufferedOutputStream
  • PrintStream
  • ObjectOutputStream
  • PipedOutputStream 
C. CONTOH PROGRAM

1. Definisikan nama file yang akan dibaca melalui class File, atau nama file lengkap dengan path.
2. Periksa apakah file tersebut ada (exist) dan tipenya adalah file (bukan direktori).
3. Siapkan obyek FileInputStream untuk membaca isi file.
4. Baca input dengan menggunakan method read(), dan bila tidak ada input lagi, FileInputStream memberikan indikator -1 sebagai tanda tidak ada lagidata yang akan dibaca.
5. Gunakan method close() untuk menutup FileStream.


sumber : http://gheasafferina.blogspot.com/2012/03/mengenal-stream-io.html