GUI 2 (Events dan Pengambilan Nilai Pada Swing)



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