Wednesday, April 18, 2012

Memisahkan Variabel String Menggunakan "Split"

Seperti judulnya, kali ini saya mencoba nge-post tentang "mengurai" variabel string menjadi "kecil-kecil". contohnya ada variabel "nama", maka akan menjadi {"n","a","m","a"}. Saya bertemu dengan nih istilah gara-gara saya sedang mengerjakan tugas akhir saya.
 Pertama-tama kita buat dulu variabel apa yang akan di urai. Contohnya:
String utuh = "c-o-b-a";
Lalu kita tentukan pemisahnya. Contohnya:
String pemisah = "-";
Setelah itu kita membuat sebuah variabel array sebagai wadahnya nanti:
String[] tampung;
Selanjutnya setelah kita sudah menyiapkan semua bahannya, lalu kita masuk pada tahap prosesnya:
tampung = utuh.split(pemisah);
atau bila kita belum menyiapkan wadahnya, kita bisa langsung mengimplementasikannya
String[] tampung = utuh.split(pemisah); 
Sebagai contohnya yang sudah saya coba:

Sekilas Tentang Frame AWT (pada class java biasa)

AWT

Siapkan file class.java (java biasa) lalu tulis syantax seperti ini:
Apa yang terjadi?
Akan terlihat seperti ini:

 Tetapi, bila kita menekan tombol close yang di sebelah kanan atas, aplikasinya tidak bisa ditutup. Sehingga kita menutupnya dengan memberhentikan runningnya di NetBeans (soalnya saya programnya memakai NetBeans).
Itulah kekurangannya bila kita memakai Frame AWT.
Agar tombol "close" nya dapat berfungsi, maka kita perlu menambahkan syntax didalamnya. Syntaxnya seperti ini:


Selesai!

Perbedaan Frame AWT dengan Frame SWING (yang langsung)

Pertama: Frame AWT
  • Tampilan yang disediakan kosong sehingga kita dipaksa untuk menambahkan Panel / komponen yang lain. 
Lihat syntax-nya:
 Terdapat class yang berfungsi menutup


 Ketika di-run:

 Tapi Frame AWT lebih ringan bila dijalankan.


Kedua: Frame Swing


 Sudah ada alasnya
Sourcenya:
Tidak ada syntax seperti Frame AWT. Jadi bisa langsung ditutup.
Kalau di-run

Tapi lebih berat dibandingkan dengan Frame AWT :D



Tampilan Java dengan Look And Feel

Lagi iseng-iseng pengen merubah tampilan Java ketemu yang namanya LookAndFeel.
Tampilan java biasanya berupa Metal. Tetapi dengan LookAndFeel kita bisa merubah tampilan dengan Nimbus, Motif, dll. LookAndFeel hanya menyediakan 5 tipe (berdasarkan di NetBeans), yaitu:
  • Metal


Metal
  • Nimbus

Nimbus
  • CDE/Motif

CDE/Motif
  • Windows


Windows


  • Windows Classic


Windows Classic


 Tapi menurutku gambar-gambar diatas itu keliru contohnya yang motif itu gambarnya nimbus. Semua itu yang saya upload saya dapat dari NetBeans sendiri.
 Untuk membuat tampilan seperti itu, diperlukan package UIManager untuk memanggil LookAndFeel yang ada pada package swing.
Yang diatas itu cuma design previewnya nih. Sekarang kita coba implementasikan ke applikasinya langsung.
Pertama buat file JFrame. Lalu tambahkan import java.awt.*; dan import javax.swing.*;
Setelah itu  kita siapkan LookAndFeel-nya dengan menulis private UIManager.LookAndFeelInfo looks[]; pada public class-nya. Variabelnya saya contohkan looks[].
Kan udah ada tuh LookAndFeel-nya tapi belum kita instal biar bisa digunakan. Tulis looks = UIManager.getInstalledLookAndFeels(); dibagian class public.
Tinggal dipakai deh.
try {

            UIManager.setLookAndFeel(looks[1].getClassName()); //looks[1] = meminta tampilan nimbus

            SwingUtilities.updateComponentTreeUI(this); //implementasinya

        }

        catch (Exception ex) {

            ex.printStackTrace();

        }

Buat lengkapnya seperti syntax-nya

Outputnya:

Done!





Wednesday, March 28, 2012

Event Handling

Pertama-tama yang harus kita pelajari adalah Delegation Event Model (bagaimana program merespon interaksi dari user.)
Ada 3 komponen utama, yaitu:
  1. Event Source => mengacu pada komponen GUI yang meng-generate event.
  2. Event Listener/Handler => menerima berita dari event-event dan proses-proses interaksi user.
  3. Event Object => Ketika sebuah event terjadi (misal, ketika user berinteraksi dengan komponen GUI),
    sebuah object event diciptakan. Object berisi semua informasi yang perlu tentang
    event yang telah terjadi.
Adapun Class-class Event, diantaranya:
  • ComponentEvent : Extends AWTEvent. Dijalankan ketika sebuah komponen dipindahkan, di-resize, dibuat visible atau hidden. 
  • InputEvent : Extends ComponentEvent. Abstrak root class event untuk semua komponen-level input class-class event.
  • ActionEvent : Extends AWTEvent. Dijalankan ketika sebuah tombol ditekan, melakukan double-klik daftar item, atau memilih sebuah menu.
  • ItemEvent : Extends AWTEvent. Dijalankan ketika sebuah item dipilih atau dideselect oleh user, seperti sebuah list atau checkbox.
  • KeyEvent : Extends InputEvent. Dijalankan ketika sebuah key ditekan, dilepas atau diketikkan.
  • MouseEvent : Extends InputEvent. Dijalankan ketika sebuah tombol mouse ditekan, dilepas, atau di-klik (tekan dan lepas), atau ketika sebuah kursor mouse masuk atau keluar dari bagian visible dari komponen.
  • TextEvent : Extends AWTEvent. Dijalankan ketika nilai dari text field atau text area dirubah.
  • WindowEvent : Extends ComponentEvent. Dijalankan sebuah object Window dibuka, ditutup, diaktifkan, nonaktifkan, iconified, deiconified, atau ketika focus ditransfer kedalam atau keluar window.





Sumber : Modul Jeni Bab 8 - Event Handling

Ringkasan tentang Pewarisan, Polimorphism, Pembungkusan dll

1.Pewarisan - Proses Penurunan semua method & variable kelas induk/superclass ke

kelas anak/subclass. keyword = "extends"

2.Polymorphism - Perubahan bentuk pada method, ada 2 jenis:
 - 2.1.Overload = Cirinya parameternya berbeda (pada pewarisan atau pada sendiri)
 - 2.2.Override = Cirinya parameter sama tetapi body berbeda. (pada pewarisan)

3.Pembungkusan - Tingkat Akses
 1. Public -> oleh Class lain (semua package)
 2. Default -> Class lain (dalam package yang sama tanpa modifier)
 3. Protected -> bisa diakses oleh Class itu sendiri maupun Class Turunan
 4. Private -> hanya bisa akses oleh Class itu Sendiri

4.1. Modifier Statis => berfungsi agar method & variabel diakses tanpa inisialisasi  objek

4.2. Modifier Final => berfungsi *mencegah penurunan class* / pemandulan, mencegah override method, membuat variabel menjadi konstan/tetap.

5.1. Abstract Class-Class => berisi *abstract method*/baris diimplementasi & non-abstract method, tidak bisa dibuat objek.
 keyword = "extends"

5.2. Interface => bukan class, hanya berisi *abstract method*/baris diimplementasi & variabel konstan (final)

Thursday, March 22, 2012

Pengenalan Java GUI

Kali ini saya akan membahas singkat tentang Java GUI.
Apasih Java GUI itu?
GUI adalah singkatan dari Graphic User Interfaces. Java GUI adalah aplikasi Java yang disediakan untuk berinteraksi dengan si user dengan tampilan grafis. Dengan kata lain didalam Java GUI terdapat komponen untuk membuat tampilan grafis. Ya kayak ada buttonnya, text area, label, dialog box, dll pokoknya banyak deh.
Didalam Java GUI terdapat 2 graphical library (hah apa'an tuh? mm.. yah kayak dibagi gitu). Yaitu: Swing dan AWT.
Antara Swing dan AWT itu berbeda. Perbedaannya bisa dilihat pada package-nya. Kalau Swing pakai "java.swing.*" dan file type-nya juga banyak. Tapi kalau AWT pakai "java.awt.event.*" dan file type-nya lebih sedikit dibandingkan dengan Swing.