Teman-teman yang sering membuat aplikasi atau Sistem Informasi dengan Java Swing tentu sering berkomunikasi dengan database, entah untuk melakukan query pencarian atau melakukan transaksi. Untuk menampilkan informasi record dari database ke dalam aplikasi Java Swing umumnya yang dipakai menggunakan JTable, nah apa jadinya jika kita ingin menampilkan seluruh data dari suatu tabel database? tentu kita bisa saja menampilkan dengan setiap record ke JTable, namun hal tersebut akan membebani server untuk melakukan pencarian selain itu jika kita misalnya punya lebih 1000 record di tabel dan ditampilkan semuanya ke JTable tentu juga tidak terlalu rapi, karena terlalu panjang scrollnya, nah oleh karena itu kita siasati dengan Pagination sehingga kita dapat menampilkan informasi dari database ke JTable.
Untuk melakukan pagination di Java Swing, saya biasanya menggunakan library JWidget yang dapat teman-teman unduh disini. Di library tersebut terdapat komponen JPagination yang dapat kita tambahkan ke panel/frame dari aplikasi kita, untuk menambahkannya (jika di Netbeans IDE) dengan cara memilih opsi Tools->Pallete->Swing/AWT Components,
setelah itu akan muncul dialog Pallete Manager, kita tambahkan dulu kategori JWidget kemudian tambahkan Library JWidget yang telah diunduh tadi, sehingga muncul komponen JPagination ketika selesai maka komponen tersebut dapat ditambahkan ke Pallete
Setelah ditambahkan ke pallete, kita dapat memulai latihan menggunakan JPagination. Pertama-tama kita buat dahulu Frame/Panel kemudian tambahkan komponen JTable dan JPagination.
Kemudian pada source nya kita inisialisasi terlebih dahulu model pagination dengan
private DefaultPaginationModel paginationModel;
kemudian pada constructor kita inisialisasi objek tersebut dan kita set nilainya misalnya seperti ini
paginationModel = new DefaultPaginationModel(); //Kita misalkan ada 500 record, disini bisa lakukan count di DB paginationModel.setTotalItem(500); //Mengeset jumlah record untuk satu halaman paginationModel.setPageSize(100); pagination.setModel(paginationModel);
Nah, selanjutnya bagaimana cara kita untuk menampilkan data pada halaman tertentu? Caranya kita tambahkan event pada JPagination dengan cara klik kanan pada komponen-> Events->Pagination->onPageChange
kemudian tambahkan kita buat code untuk menangani event tersebut
// digunakan untuk mengeset limit pada query DB int limit = (evt.getCurrentPage() - 1) * evt.getPageSize(); //contoh query System.out.println("SELECT * FROM PERUSAHAAN LIMIT " + limit + ", " + evt.getPageSize());
Sehingga ketika kita jalankan,maka di output akan muncul perintah untuk melakukan query menggunakan limit berdasarkan posisi halaman dan jumlah record yang di set dalam satu halaman. Sengaja disini saya hanya berfokus teknik menggunakan JPagination tanpa komunikasi dengan database agar teman-teman bisa melakukan kustomisasi berdasarkan petunjuk tersebut, jika merasa kesulitan, teman-teman dapat mengunduh contoh project tersebut di Dropbox
Nice Share Gan (y)
sql querynya brrti dilakukan 2x gan?
di load tabel sama di event jpaginationnya?
gak bisa didonlot file tutorialnya gan, mohon upload ulang, trims