Sabtu, 10 November 2012

SWING

1.     Apa itu swing?
Swing merupakan koleksi komponen GUI yang berjalan secara seragam di setiapplattform murni yang mendukung JVM (Java Virtual Machine). Keseluruhankomponen Swing ditulis menggunakan java sehingga mampu menyediakan fungsionalitas maksimal di platform yang ekuivalen. Hal ini juga membuktikan bahwa portabilitas aplikasi swing sangat tinggi.
Swing toolkit menyediakan banyak sekali komponen untuk membangun aplikasi GUI desktop. Swing toolkit juga menyediakan class-class untuk menangani interaksi antara aplikasi dan user menggunakan standard input seperti keyboard dan mouse. Komponen-komponen yang disediakan swing mencakup semua GUI toolkit yang lazim digunakan dalam apilasi desktop, seperti : JTabelJListJTreeJButtonJLabel dan masih banyak komponen-komponen lainnya yang sudah teruji dan siap pakai.


a.     Komponen-komponen Swing 
1.     Container tingkat atas (top level) berfungsi untuk menyediakan ruang bagi komponen-komponen lainya. Container jenis ini terdiri daro JFrameJWindow,JDialog, dan JApplet.
2.     Container menengah adalah komponen (non top level) yang keberadaannya untuk menampung komponen lainnya, misal paneltabbed dan tool bar
3.     Komponen atomic berfungsi untuk menampilkan dan/atau menerima informasi. Komponen tunggal memiliki peran penting dalam menghasilkan antarmuka user. Contoh komponen atomic adalah text fieldbutton dan label
2.     GUI Event Handling
a.     Delegation Event Model
Delegasi event model menguraikan bagaimana program Anda dapat merespon interaksi dari user. Untuk memahami model, pertama-tama mari kita pelajari melalui tiga komponen utamanya.
1.     Event Source
Event source mengacu pada komponen GUI yang meng-generate event. Sebagai contoh, jika user menekan tombol, event source dalam hal ini adalah tombol.
2.     Event Listener/Handler
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.
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. Informasi meliputi tipe dari event yang telah terjadi, seperti ketika mouse telah di-klik. Ada beberapa class event untuk kategori yang berbeda dari user action. Sebuah event object mempunyai tipe data mengenai salah satu dari class ini.
b.     Class-class Event
Kelas-kelas event merepresentasikan tipe-tipe event yang dapat terjadi pada sebuah event source. Semua kelas event didalam java diturunkan dari kelas EventObject, yang salah satu constructornya berbentuk EventObject(Object src)
Disini, src adalah objek yang membangkitkan event ini. Kelas EventObject memiliki dua buah method, yaitu: getSource( ) dan toString. Method getSource( ) digunakan untuk memperoleh objek yang mengirimkan event. Adapun bnetuk umum dari method getSource( ) adalah sebagai berikut Object getSource( )

3.     Tipe EVENT didalam JAVA
Tipe Event
Keterangan
ActionEvent
Dijalankan pada saat object button di-click, item dalam list di-doubleclick, maupun item menu dipilih
AdjustmentEvent
Dijalankan pada saat object scrollbar dimanipulasi
ComponenEvent
Dijalankan pada saat  suatu kompoen disembunyikan, dipindahkan, diubah ukurannya, maupn diset keadaan visible
ContainerEvent
Dijalankan pada saat  suatu komponen ditambahkan/dipndahkan ke/ dari sebuah container
FocusEvent
Dijalankan pada saat suatu komponen memperoleh atau kehilangan focus keyboard
InputEvent
Kelas induk dari semua kelas yang termasuk kedalam  event input
ItemEvent
Dijalankan pada saat sebuah item dalam list atau checkbox di-click, juga terjadi pada saat item-nya dibuat, dan pada saat item menu di-check maupun di-uncheck
KeyEvent
Dijalankan pada saat input dilakukan melalui keyboard
MouseEvent
Dijalankan pada saat mouse di-drag, dipindahkan, di-click,ditekan maupun dilepas
TextEvent
Dijalankan pada saat text yang berada dalam komponen text area atau text fiela diubabh
WindowEvent
Dijalankan pada saat window atau form diaktivasi, ditutup,di-minimize, di-maximize,dibuka atau dikeluarkan

4.     Event source
Event source
Keterangan
Button
Membangkitkan ActionEvent pada saat button ditekan
Checkbox
Membangkitkan ItemEvent pada saat dicheck maupun diuncheck
Choice
Membangkitkan ItemEvent pada saat pilihan diubah
List
Membangkitkan ActionEvent pada saat sebuah item di-doubleclick dan Membangkitkan ItemEvent  pada saat item dipilih/di-check maupun di-uncheck
Item Menu
Membangkitkan ActionEvent pada saat sebuah item di-click dan Membangkitkan ItemEvent  pada saat item dipilih/di-check maupun di-uncheck
Scrollbar
Membangkitkan  AdjustmentEvent pada saat scrollbar dimanipulasi
Text
Membangkitkan TextEvent pada saat user memasukan karakter pada komponen text area maupun text field
Window
Dijalankan pada saat window atau form diaktivasi, ditutup,di-minimize, di-maximize,dibuka atau dikeluarkan

5.     Event listener
Interface
Keterangan
ActionListener
Mendefinisikan sebuah method untuk menangani terjadinya event ActionEvent.
void actionPerformed(ActionEvent)
AdjustmentListener
Mendefinisikan sebuah method untuk menangani terjadinya event AdjustmentEvent.
void event adjustment ValueChanged(AdjustmentEvent e)
ComponenListener
Mendefinisikan 4 method untuk menangani terjadinya event ComponentEvent.
void componentResize(ComponentEvent e)
void componentMovedComponentEvent e)
void componentShown(ComponentEvent e)
void componentHidden(ComponentEvent e)
ContainerListener
Mendefinisikan dua method untuk menangani terjadinya event ContainerEvent.
void componentAdded(ContainerEvent e)
Void componentRemoved(ContainerEvent e)
FocusListener
Mendefinisikan 2 method untuk menangani terjadinya event FocustEvent.
void focusGained(FocusEvent e)
void focusLost(FocusEvent e)
ItemListener
Mendefinisikan sebuah method untuk menangani terjadinya event ItemEvent.
void itemStateChanged(ItemEvent)
KeyListener
Mendefinisikan sebuah method untuk menangani terjadinya event KeyEvent.
void KeyPressed(KeyEvent e)
void KeyReleased(KeyEvent e)
void KeyTyped(KeyEvent e)
MouseListener
Mendefinisikan 5 method untuk menangani terjadinya event MouseEvent.
void mouseClicked(MouseEvent e)
void mouseEntered(MouseEvent e)
void mouseExited(MouseEvent e)
void mousePressed(MouseEvent e)
void mouseReleased(MouseEvent e)
MouseMotionListener
Mendefinisikan 2 method untuk menangani terjadinya event MouseEvent(pada saat mouse didrag ).
void mouseDragged(MouseEvent e)
void mouseMoved(MouseEvent e)
TextListener
Mendefinisikan sebuah method untuk menangani terjadinya event TextEvent.
void textChanged(TextEvent e)
WindowListener
Mendefinisikan 7 method untuk menangani terjadinya event WindowEvent.
void windowActived(WindowEvent e)
void windowClosed(WindowEvent e)
void windowClosing (WindowEvent e)
void windowDeactived (WindowEvent e)
void windowDeiconified (WindowEvent e)
void windowIconified (WindowEvent e)
void windowOpened (WindowEvent e)

6.     Eksplorasi Komponen-komponen Swing
a.   APPLET
Applet adalah porgram yang dieksekusi di lingkungan web browser. Dengan kata lain,  applet adalah            progam untuk internet. Dalam Swing, applet diimplementasikan dengan kelas JApplet, yang merupakan turunan dari kelas Applet. Semua applet yang dibuat menggunakan swing harus diturunkan dari kelas JApplet (bukan Applet). Dalam kelas Japplet terdapat sebuah container yang berguna untuk komponen-komponen lain didalam applet bersangkutan. Container tersebut dapat diambil melalui pemanggilan method getContentPane( ), yang memiliki bentuk deklarasi sepeti berikut :
Container getContentPane( )
Selanjutnya, untuk menambah komponen-komponen lain ke container diatas, klkita  perlu memanggil method add( ). Berikut ini bentuk umum deklarasi method add( ).
void add(comp)
paramater comp adalah komponen yang akan ditambahkan kedalam container yang terdapat didalam applet.

contoh program

 
 Kemudian buatlah file HTML DemonAppletswing.htm, tuliskan kode dibawah ini :


       Tag HTML <applet> </applet> digunakan untuk menjalankan program applet yang     dibuat. Kemudian buka file DemonAppletswing.htm dengan menggunakan web browser.
     
Hasil Program

  
b.   DIALOG
Dialog yang diimplementasikan dengan kelas JDialog adalah sebuah container untuk membentuk form-form dialog.
Contoh : menampilkan pesan kesalahan, peringantan, konfirmasi, maupun menampilkan pesan yang lainnya.
b.1 Komponen Dialog Pilihan
·         JOptionPane = komponen dialog yang digunakan untuk menampilkan pilihan atau pesan.
·         showConfirmDialog = meminta konfirmasi dari user seperti yes/ no/ cancel.
·         showInputDialog = meminta input dari user, baik berupa input text menggunakan JTextField maupun pilihan menggunakan JComboBox.
·         showMessageDialog = memberitahukan user tentang apa yg baru saja terjadi
c.  Frame
Frame yang diimplementasikan dengan kelas JFrame digunakan untuk membuat widow atau form dalam aplikasi-aplikasi desktop. Untuk membuat sebuah frame, dapat menurunkannya secara langsung dari kelas Jframe. Tahapan kode yang diperlukan untuk membuat dan menampilkan sebuah frame.

d.   Komponen JButton
Jbutton adalah salah satu komponen dasar yang sering digunakan dalam pengembangan program-program GUI. Komponen ini diturunkan dari kelas JAbstractButton yang akan megirimkan event ActionEvent ke listener.
Contsructorny :
JButton(Icon i)
JButton(String str)
JButton(String str,Icon i)
Method:
btn.setEnabled(true);

e.  JCheckBox
merupakan komponen swing yang berfungsi untuk melakukan multiple choice. bentuknya checklist.
Mengirimkan ItemEvent yang di tangkap oleh ItemListener.
Constructornya :
JCheckBox(Icon i)
JCheckBox(Icon i, boolean state)
JCheckBox(String str)
JCheckBox(String str, boolean  state)
JCheckBox(String str,Icon i)
JCheckBox(String str,Icon i, boolean state)

f.   JTextField
JTextField digunakan untuk menerima input berupa text
Construktornya:
JTextField()
JTextField(int  cols)
JTextField(String str, int cols)
JTextField(String str)

g.   JTextArea
Merupakan komponen yang digunakan untuk menerima masukan tulisan yang boleh lebih dari satu baris.
Constructornya :
JTextArea();
JTextArea(String str)
JTextArea(String str,int width,int height)
JTextArea(int width,int height) 
Method setText() Untuk merubah text, sendangkan getText() untuk mengambil text.
Agar bersifat readOnly gunanakn method setEdittable(true).

h.   JRadioButton
Digunakan apabila dalam menu yang boleh dipilih hanya satu. Seperti jenis kelamin, kita hanya boleh memilih satu.
Constructornya :
JRadioButton(Icon i)
JRadioButton(Icon i,boolean state)
JRadioButton(String str)
JRadioButton(String str,boolean state)
JRadioButton(String str, Icon i)
JRadioButton(String str,Icon i,boolean state) 
Objek dari ButtonGrup diperlukan utuk mengelompokan item JradioButton dengan memanggil method add().

i.  JComboBox
Digunakan untuk menampilkan item pilihan. Contructornya:
JComboBox()
JComboBox(Vector v)
Item yang akan di jadikan pilihan dimaukan melalui method addItem()

j.    Jlist
komponen yang digunakan untuk menyajikan kotak pilihan, dengan terdapat pada kotak pilihan, Jumlah pilihan akan nampak sesuai dengan ukuran jendela, jika pilihanya lebih banyak maka jendela akan menggulung dengan menekan scroll bar.
Bisa memilih item lebih dari satu, Berikut ini adalah constructornya:
Jlist()
Menciptakan sebuah JList dengan model yang kosong.
JList(ListModel lm)
Menciptakan suatu daftar dengan awal mendaftar materi yang ditetapkan.
JList(Object[]arrObj)
Secara implisit menciptakan suatu Listmodel yang tetap;
JList(Vector v)
Memodifikasi dengan array

0 komentar:

Posting Komentar

Copyright © 2010 ncEpz | Design : Noyod.Com | Images: Moutonzare