Rabu, 14 Maret 2012

Event Handling

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:

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

public class ClickMe extends JFrame implements ActionListener {
 private JButton tombol;

 public ClickMe() {
  super ("Event Handling"); 

  Container container = getContentPane();
  container.setLayout(new FlowLayout());  

  tombol = new JButton ("Click Me!");
  tombol.addActionListener(this);
  container.add(tombol);  

  setSize (200,100);
  setVisible (true);
 }

 public static void main (String arg[]) {
  ClickMe test = new ClickMe();
  test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 }

 public void actionPerformed (ActionEvent e) {
  if (e.getSource() == tombol) {
   JOptionPane.showMessageDialog(null, "You click me, guys !!!");
  }
 }
}

Tampilan:

Pada GUI Event Handling terdapat 2 class yang sangat bermanfaat yaitu :

Inner Class
Inner class, seperti namanya, adalah sebuah class yang dideklarasikan di dalam class lain. Kegunaan inner classes akan dapat membantu Anda menyederhanakan program,
 terutama dalam event handling seperti yang ditunjukkan pada contoh.
Contoh Menutup Window :

 Anonymous Inner Class

Anonymous inner class adalah inner class yang tanpa nama. Kegunaan dari anonymous inner class akan menyederhanakan kode-kode Anda lebih lanjut. Di bawah ini merupakan modifikasi dari contoh bagian sebelumnya.
Contoh Menutup Window:
Sumber  : http://contohprogram.info/java/contoh-event-handling-di-java.html
               http://poss.ipb.ac.id/files/JENI-Intro2-Bab08-GUI%20Event%20Handling.pdf


GUI Java part1

1. AWT(Abstract Window Toolkit)

Abstract Window Toolkit atau disingkat AWT adalah alat pengembangan software asli milik Java yang khusus ditujukan untuk membuat GUI (Graphical User Interface). Hal ini berarti berkaitan dengan pembuatan dan pengaturan Window (misalnyaJFrame, Jpanel, dan Container), Gra phics (misalnyaPaint, Color, dan Font), dan user interface (misalnyaMouseListener dan ActionListener).
Sayang-nya AWT ini sangat-sangat kekurangan komponen yang biasa digunakan untuk membangun sebuah aplikasi desktop secara lengkap (komponen tabel saja tidak ada ) Terlepas dari kurang-nya komponen GUI yang terdapat pada AWT (Abstract Window Toolkit), aplikasi yang dibangun menggunakan AWT (Abstract Window Toolkit) akan tampak seperti aplikasi native. Maksudnya yaitu, jika aplikasi yang dibangun menggunakan AWT (Abstract Window Toolkit) ini dijalankan pada Sistem Operasi Windows. Maka aplikasi ini akan terlihat seperti aplikasi Windows pada umum-nya, dan begitu juga jika dijalankan pada Sistem Operasi Mac ataupun GNU/Linux. Kenapa ini bisa terjadi, karena AWT (Abstract Window Toolkit) ini benar-benar memanggil native subrutin untuk menggambar setiap komponen-nya ke layar. 

2. Swing 

Swing adalah kit Java kedua untuk mendevelop GUI yg dikeluarkan oleh SUN. Dibangun di atas AWT (Abstract Windowing Toolkit) package (merupakan pengembangan dari AWT). GUI didevelop menggunakan berbagai component yang diorganisasikan oleh container. Component Swing berinteraksi dengan user menggunakan sebuah model event listener .
Proyek dimulai akhir 1996. Di-develop secara aktif sejak spring 1997. Beta pada akhir 1997. Release pertama pada bulan Maret 1998 sebagai bagian dari JFC.
 “Swing” adalah nama kode dari proyek yang mendevelop komponen baru. Bukan merupakan nama resmi. Namun nama ini lebih sering digunakan untuk menyebut komponen-komponen baru yang berhubungan dengan API. 

3. SWT (Standart Widget Toolkit) 

SWT (Standart Widget Toolkit) ini adalah sebuah GUI Toolkit yang dikeluaran oleh IBM sebagai alternatif dari AWT/Java Swing milik SUN Microsystem, yang membedakan antara SWT (Standart Widget Toolkit) dan AWT/Java Swing adalah SWT ini benar-benar mengakses native GUI library yang terdapat pada Sistem Operasi melalui JNI (Java Native Interface). Dengan model seperti ini, memungkinkan tampilan aplikasi yang dibangun menggunakan GUI Toolkit SWT menjadi sama persis dengan aplikasi native lain-nya. Kekurangan dari model pemanggilan native GUI library seperti ini adalah kita harus menyediakan library untuk tiap-tiap Sistem Operasi target aplikasi kita.
Sebelum mulai menggunakan GUI Toolkit SWT, kita harus mendownload dahulu library swt.jar yang sesuai dengan Sistem Operasi yang teman-teman gunakan dari halaman project SWT. Setelah selesai mendownload file swt.jar, tambahkan-lah file swt.jar tersebut kedalam CLASSPATH.
 

Input/Output (I/O) Stream part 1


  • Semua data di Java dibaca dan ditulis dengan menggunakan stream.
  • Stream adalah representasi abstrak dari aliran data yang berjalan dari sumber (input stream) ke tujuan (output stream).
  • Contoh: 
    • 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 (8 bit) : digunakan untuk byte, integer, dan simple data type yang lain. Misal: numerical data, executable programs,dll.
  •  Character stream (16bit) : digunakan untuk data tekstual (teks), mendukung unicode. Misal: text files.
Byte Stream

Character Stream


contoh script membaca file:
 

sumber :  Pemrograman Berorientasi Obyek oleh Idris Winarno (file ppt)