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 : JTabel, JList, JTree, JButton, JLabel 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 JFrame, JWindow,JDialog, dan JApplet.
2.
Container menengah adalah komponen (non top level)
yang keberadaannya untuk menampung komponen lainnya, misal panel, tabbed 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 field, button 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.
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 :
Contsructorny :
JButton(Icon i)
JButton(String
str)
JButton(String
str,Icon i)
Method:
btn.setEnabled(true);
btn.setEnabled(true);
e. JCheckBox
merupakan
komponen swing yang berfungsi untuk melakukan multiple choice. bentuknya
checklist.
Mengirimkan
ItemEvent yang di tangkap oleh ItemListener.
Constructornya :
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()
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)
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)
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.
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;
Secara implisit menciptakan suatu Listmodel yang tetap;
JList(Vector v)
Memodifikasi dengan array
Memodifikasi dengan array
0 komentar:
Posting Komentar