GUI II (Events dan Pengambilan Nilai Pada Swing)
Tipe Event, Listener dan Kelas Pemicu Event (Source Object) Di java
Di artikel Memahami Cara
Menangani Aksi (Event) Di Pemrograman Java, Anda diperkenalkan pada
salah satu tipe event (aksi) yaitu ActionEvent. Java mempunyai beberapa tipe
event selain action event. Tipe-tipe event Java (Java event types) sebenarnya
merupakan kelas-kelas event. Kelas event dapat menjadi tipe parameter dari
metoda yang didefinisikan di dalam interfes yang bersesuaian dengan tipe event.
Obyek kelas event berisi properti-properti yang berkaitan dengan event
tersebut. Setiap nama tipe event mempunyai nama interfes listener dan nama
metoda untuk registrasi yang bersesuaian kecuali interfes (interface)
MouseMotionListener. Berikut ini adalah tabel beberapa tipe event, listener dan
kelas (source object) yang memicu munculnya event:
|
Tipe Event, Listener Dan
Kelas-Kelas Pemicu Di Java
|
||
|
Event Types
|
Interface Listener
|
Event Source Object
|
|
ActionEvent
|
ActionListener
|
JTextField, JFileChooser, JButton,
JComboBox, JCheckBox, JRadioButton, Jlist, Timer
|
|
ContainerEvent
|
ContainerListener
|
Container
|
|
MouseEvent
|
MouseListener
|
Component
|
|
MouseMotionListener
|
||
|
KeyEvent
|
KeyListener
|
Component
|
|
WindowEvent
|
WindowListener
|
Window
|
|
TextEvent
|
TextListener
|
TextComponent
|
|
ChangeEvent
|
ChangeListener
|
JProgressBar, JTabbedPane,
JSlider, JViewport
|
|
ListSelectioEvent
|
ListSelectioListener
|
JList, ListSelectionModel
|
|
ItemEvent
|
ItemListener
|
JCheckBox, JComboBox, JList
|
|
FocusEvent
|
FocusListener
|
Component
|
|
AdjusmentEvent
|
AdjusmentListener
|
JScrollBar
|
|
CellEditorEvent
|
CellEditorListener
|
CellEditor
|
|
ComponentEvent
|
ComponentListener
|
Component
|
Setiap
event mempunyai interfes yang harus diimplementasikan oleh obyek pendengar
(listener object), sedangkan obyek pendengar harus mendeklarasikan ulang semua
metoda (handler) yang dimiliki interfes untuk menangani event. Dari tabel di
atas, Anda dapat melihat bahwa MouseEvent mempunyai dua buah listener yaitu
MouseListener dan juga MouseMotionListener.
Registrasi Listeners
Event source mendaftarkan sebuah listener melalui
method add<Type>Listener.
void add<Type>Listener(<Type>Listener
listenerObj)
<Type> tergantung pada tipe dari event
source. Dapat berupa Key, Mouse, Focus, Component, Action dan lainnya. Beberapa
listeners dapat diregistrasi dengan satu event source untuk menerima
pemberitahuan event.
Listener yang telah teregistrasi dapat juga tidak
diregistrasikan lagi menggunakan method remove<Type>Listener.
void
remove<Type>Listener(<Type>Listener listenerObj)
Class-Class Event
Sebuah event object mempunyai sebuah class event
sebagai tipe data acuannya. Akar dari hirarki class event adalah class
EventObject, yang dapat ditemukan pada paket java.util.
Immediate subclass dari class EventObject adalah class AWTEvent. Class AWTEvent
didefinisikan pada paket java.awt. Itu
merupakan akar dari semua AWT-based events.
Event Listeners
Event listeners adalah class yang
mengimplementasikan interfaces <Type>Listener.
Tabel di bawah menunjukkan beberapa listener
interfaces yang biasanya digunakan.
Method ActionListener
Interface ActionListener hanya terdiri dari satu
method.
Method-Method MouseMotionListener
MouseMotionListener mempunyai dua method untuk
diimplementasikan.
Contoh Membuat JRadioButton pada Java Swing JRadioButton merupakan komponen
java swing yang digunakan untuk melakukan pemilihan terhadap opsi yang ada dan
bersifat single selection. pada JRadioButton hanya memperbolehkan kita memilih
salah satu dari opsi yang disediakan.
Contoh menambahkan ButtonGroup pada
JRadioButton :
JRadioButton lk = new
JRadioButton("Laki - Laki");
JRadioButton pr = new
JRadioButton("Perempuan");
ButtonGroup group = new
ButtonGroup();
group.add(lk);
group.add(pr);
Cara memberikan dan mengambil nilai atau value dari JRadioButton
Untuk memberikan nilai atau value
dari JRadioButton gunakan method setActionCommand(String text) sedangkan
untuk mengambil nilai atau value gunakan method getActionCommand().
Contoh :
JRadioButton lk = new JRadioButton("Laki - Laki");
lk.setActionCommand("L");
Cara untuk menentukan JRadioButton yang terpilih ketika melakukan pengambilan data (melakukan klik) dari JTable
Untuk pengambilan nilai atau value
dari JTable ke JRadioButton berbeda dengan pengambilan nilai atau value dari
JTable ke komponen java swing lainnya (JTextField, JTextArea, JComboBox,
dsc).
Pada saat melakukan
klik pada JTable dan melakukan pengambilan value kemudian data tersebut
digunakan untuk menentukan JRadioButton yang terpilih kalian dapat menggunakan
percabangan (penggunaan if dan switch).
Contoh
:
String jns = model.getValueAt(tabel.getSelectedRow(), 1).toString();
if(jns.equals(lk.getActionCommand()){
lk.setSelected(true);
} else {
pr.setSelected(true);
}
Sumber:

Comments