JTable merupakan komponen grid yang terdiri dari baris dan kolom. JTable merupakan komponen yang dapat digunakan untuk menampilkan data seperti pada spreadsheet. Hal yang paling membingungkan bagi pemula di Java Swing adalah, bagaimana cara mendeteksi aksi perubahan baris yang terseleksi di JTable, baik itu saat menggunakan Mouse dan juga saat menggunakan Key Board.
JTable memiliki Mouse Listener untuk mendeteksi aksi mouse dan Key Listener untuk mendeteksi aksi keyboard. Mouse Listener dan Key Listener tidak dianjurkan untuk melakukan pendeteksian perubahan baris, kenapa? Mouse Listener hanya dapat mendeteksi aksi mouse, sehingga jika baris diubah menggunakan keyboard, maka tidak dapat terdeteksi. Key Listener juga hanya dapat mendeteksi aksi keyboard, sehingga jika baris diubah menggunakan mouse, maka tidak dapat terdeteksi. Lantas bagaimana jika digabung? Mouse Listener dan Key Listener?
Walaupun Mouse Listener dan Key Listener digabung, tetap tidak cocok untuk mendeteksi perubahan baris, kenapa? Karena yang kita perlukan adalah mendeteksi jika baris yang terseleksi berubah, sedankang jika dengan Mouse Listener dan Key Listener, maka seluruh aksi mouse, walaupun diluar baris, misal di kepala JTable, maka aksi tersebut akan didengarkan, dan walaupun kita mengetik hurup A, B, C dan Z akan tetap didengarkan aksinya, padahal untuk merubah row kita hanya perlu menggunakan KEY UP dan KEY DOWN.
Lantas solusi apa yang baik?
Solusinya sederhana, Anda dapat menggunakan ListSelectionModel milik JTable. Untuk mendapatkannya Anda dapat menggunakan getSelectionModel(). ListSelectionModel memiliki metode addListSelectionListener(...), metode tersebut digunakan untuk menambah listener ketika seleksi baris berubah.
Misal jika Anda memiliki sebuah Form sebagai berikut :

Form
Setelah itu tambahkan ListSelectionListener pada ListSelectionModel-nya :
Hasilnya adalah sebagai berikut :

JTable Selection Model Demo
Selamat mencoba
Assalamualaikum kang…saya mau nanya ne….gimana ya caranya menampilkan tanggal yang sudah disimpan dari database ke jDateChooser memakai jTableMouseClicked???saya bingung udah 1 minggu nyari jalan keluarnya belum ketemu…
jDateChooser punya metode setDate(tanggal), masukkan data Date nya ke setDate(tanggal) tersebut
udah saya coba kang tapi belum juga bisa…..akang punya contoh atau source code gitu?????newbie ne kang….help dunk….
wah, gak punya saya
gan mo nanya,, Q pakek Jdatechoser dan yang saya bingungin nulis di grd_siswa-event-mousecliked grid gua semisal “txt_tgl.getDate” dia gag mau ta ganti txt_tgl.setDate juga gag bisa terus? solusi?
artinya metode itu emang enggak ada
Q pkek Jdatechoser dia mlh nyimpennya sampai hari,tanggal, jam menyederhanakan gimana? tulisannya “ERROR : com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect date value: ‘Thu Oct 13 18:29:32 ICT 2011′ for column ‘tgl_lhr’ at row 1″
gak ada yang salah dengan jdatechooser nya, itu yang salah saat km masukin data ke database.