Ini project yang sebelumnya saya dapat referensi dari temen, terus tambah-tambahin sendiri... Kayak Chaesar Chiper sama Cryptography di Plain Text nya.. so far, cuma bingung buat enkripsi dari MD5 ke Plain Text nya . . hehe :D
Selasa, 13 Maret 2012
Event Handling
Event Object merupakan object yang mendiskripsikan sebuah event yang di-trigger oleh event source.
Event Handler merupakan method yang menerima event object dan melakukan respond yang sesuai dengan event object tersebut.
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. Event listener menerima berita dari event-event dan proses-proses interaksi user.Ketika tombol ditekan, listener akan mengendalikan dengan menampilkan sebuah
informasi yang berguna untuk user.
informasi yang berguna untuk user.
Event Source merupakan pembangkit / trigger sebuah event objects
Inner Class adalah suatu Class yang didefinisikan di dalam Class lain. Dengan kata lain, Inner Class adalah anggota (member) dari Class lain, sama halnya seperti variable dan method. Hal ini mengakibatkan instance dari Inner Class dapat mengakses /berbagi dengan instance dari outer Class-nya. Instance dari Inner Class dapat mengakses semua member dari outer Class-nya, bahkan yang private.
Anonymous Inner Class adalah inner class tanpa nama. Kegunaan dari anonymous inner
class akan menyederhanakan kode-kode Anda lebih lanjut. Di bawah ini merupakan
modifikasi dari contoh bagian sebelumnya. Anonymous class hampir sama seperti interface tapi bedanya class ini bisa langsung membuat instance classnya. Tapi di sini saya ingin menambahkan, menurut sumber yang saya dapat bahwa Anonymous class adalah suatu class yang dibentuk tanpa nama, jadi kita mensubclass suatu class secara langsung
Anonymous Inner Class adalah inner class tanpa nama. Kegunaan dari anonymous inner
class akan menyederhanakan kode-kode Anda lebih lanjut. Di bawah ini merupakan
modifikasi dari contoh bagian sebelumnya. Anonymous class hampir sama seperti interface tapi bedanya class ini bisa langsung membuat instance classnya. Tapi di sini saya ingin menambahkan, menurut sumber yang saya dapat bahwa Anonymous class adalah suatu class yang dibentuk tanpa nama, jadi kita mensubclass suatu class secara langsung
Adapter Class
Fungsi utama adapter yaitu mengconvert suatu objek agar bisa di gunakan di objek lain di komponen yang sedang berjalan. tujuannya adalah kita bisa melibatkan objek lain yang berbeda pada komponen yang sudah ada tanpa harus mengubahnya.
GUI Java
Graphical User Interface adalah 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.Kelas-kelas GUI diklasifikasikan menjadi 3 group :
1. Container Classes
-- JFrame, JPanel, dan JApplet
2. Component Classes
-- JButton, JTextField, JTextArea, JComboBox, JList, JRadioButton dan JMenu , adalah subclasses dari JComponent.
3. Helper Classes
-- Graphics, Color, Font, FontMetrics dan Dimension
Java SWT (Standart Widget Tookit) – IBM Product -> Eclipse Foundation
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.
1. Container Classes
-- JFrame, JPanel, dan JApplet
2. Component Classes
-- JButton, JTextField, JTextArea, JComboBox, JList, JRadioButton dan JMenu , adalah subclasses dari JComponent.
3. Helper Classes
-- Graphics, Color, Font, FontMetrics dan Dimension
Java SWT (Standart Widget Tookit) – IBM Product -> Eclipse Foundation
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.
Java AWT (Abstract Window Toolkit) – SUN Microsystem -> Oracle Product
AWT (Abstract Window Toolkit) ini adalah GUI Toolkit pertama pada bahasa pemrograman Java, 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.
AWT (Abstract Window Toolkit) ini adalah GUI Toolkit pertama pada bahasa pemrograman Java, 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.
Java SWING
Biasanya Swing itu di tambahkan depannya dengan huruf J contoh : Jpanel , JTextfield , Jbutton. Nah ini dia GUI Toolkit yang mungkin paling banyak dikenal oleh teman-teman yang baru belajar Pemrograman GUI di Java dibandingkan dengan GUI Toolkit yang lain GUI Toolkit ini lebih banyak dikenal dikarenakan dukungan tutorialnya yang cukup banyak bertebaran di Internet, dan juga merupakan standart dari Java yang mana kita tidak perlu melakukan penambahan library lagi kalau ingin menggunakan GUI Toolkit ini. Selain itu, terdapat 2 IDE besar yang menggunakan GUI Toolkit Java Swing yaitu NetBeans IDE(OpenSource) dan IntelliJ IDEA (mempunyai versi OpenSource dan Komersial).
Swing mempunyai lebih banyak komponen pendukung untuk membangun sebuah aplikasi yang lengkap untuk keperluan desktop. Selain didukung dengan banyak-nya komponen, Swing ini benar-benar murni 100 % ditulis dengan bahasa pemrograman Java tanpa adanya sebuah wrapper untuk memanggil rutin-rutin native code via JNI (Java Native Interface). Seluruh komponen yang terdapat pada Swing, semuanya murni digambar sendiri menggunakan API (Application Programming Interface) 2D untuk memanggil rutin-rutin dasar penggambaran komponen-nya. Nah dengan model seperti ini, memungkinkan sekali aplikasi yang dibangun menggunakan Swing tampak sama persis di berbagai macam Sistem Operasi. Selain itu, Swing juga mempunyai kemampuan untuk berganti-ganti tampilan menggunakan LAF (Look And Feel) atau themes Sayang-nya, jika kita menginginkan tampilan GUI yang native (tampilan-nya sama seperti aplikasi-aplikasi lain pada sistem operasi target) Swing seperti-nya masih terasa kurang smooth terutama dukungan pada font rendering-nya
I/O Stream
Program komputer bisa berguna jika ia bisa berinteraksi dengan dunia lain. Interaksi di sini maksudnya input/output atau I/O. Pada bab ini, kita akan melihat input output pada file dan koneksi jaringan (network). Pada Java, input/output pada file dan jaringan dilakukan berdasarkan aliran (stream), di mana semua objek dapat melakukan perintah I/O yang sama. Standar output (System.out) dan standar input (System.in) adalah contoh aliran.
Setiap objek yang mengeluarkan data ke aliran byte masuk sebagai kelas turunan dari kelas abstrak OutputStream. Objek yang membaca data dari aliran byte diturunkan dari kelas abstrak InputStream.
Kelas | Kegunaan | Argumen yang dibutuhkan untuk membuat objek |
ByteArrayInputStream | Menggunakan buffer pada memori sebagai aliran input | Buffer yang akan digunakan sebagai aliran input |
StringBufferInputStream | Mengubah string menjadi InputStream | Suatu String (di dalamnya sebenarnya menggunakan StringBuffer) |
FileInputStream | Untuk membaca informasi dari dalam file | String yang berupa nama suatu file, atau objek bertipe File atau FileDescriptor |
PipedInputStream | Menghasilkan data yang ditulis oleh PipedOutputStream. Mengimplementasi konsep "piping". Bisa digunakan untuk multi-threading | Objek PipedOutputStream |
SequenceInputStream | Menggabungkan dua atau lebih InputStream menjadi satu InputStream | Dua atau lebih objek bertipe InputStream atau kontainer bertipe Enumeration yang berisi InputStream yang akan digabungkan |
FilterInputStream | Kelas abstrak yang merupakan interface dari beberapa kelas bantu untuk menggunakan InputStream lain |
Kelas | Kegunaan | Argumen yang dibutuhkan untuk membuat objek |
ByteArrayOutputStream | Membuat buffer dalam memori. Semua data yang kita kirim akan disimpan di memori ini. | Opsional untuk memberikan besar buffer yang akan disiapkan |
FileOutputStream | Untuk menulis informasi ke dalam file | String yang berupa nama suatu file, atau objek bertipe File atau FileDescriptor |
PipedOutputStream | Informasi yang kita kirim di aliran output ini akan berakhir pada objek bertipe PipedInputStream. Mengimplementasi konsep "piping". Bisa digunakan untuk multi-threading | Objek PipedInputStream |
FilterOutputStream | Kelas abstrak yang merupakan interface dari beberapa kelas bantu untuk menggunakan OutputStream lain. |