Tutorial pemrograman java socket dengan protokol TCP/IP sudah banyak di internet, salah satunya ada di Tutorial Sun namun saya lihat masih jarang programmer java yang membahas java socket client server dengan swing.
Ok dech kita mulai yuk membuat aplikasi sederhana komunikasi client dan server berbasis GUI dengan java swing.
Persiapan untuk mengikuti pembahasan kali ini sebagai berikut :
Dalam source code program saya sertakan file jar untuk executable, agar Anda dapat mencoba langsung aplikasi sederhana ini atau Anda dapat meng-compile dan menjalankan file GuiClient.java untuk aplikasi client serta file GuiServer.java untuk aplikasi servernya.
Buka file GuiServer.java di editor atau IDE favorit Anda. Anda akan melihat ada 1 class utama dengan nama GuiServer dan 2 inner class di dalamnya yaitu class TableBeans dan class InfoServer.
Saya akan membahas satu per satu point-point penting yang perlu di bahas di aplikasi server ini, seperti :
- Constructor GuiServer di class GuiServer
- Method updateTable di class GuiServer
- Method tampilkanWaktu di Inner class TableBeans
- Method connectToServer di Inner class InfoServer
1 | public GuiServer() { |
terlihat di constructor class GuiServer terdapat pembuatan komponen JTable dengan 2 field yaitu Date/Time untuk menampung tanggal maupun waktu dan Message untuk menampung pesan dari action yang sedang dikerjakan oleh server. Di akhir constructor kita dapat lihat instance dari class InfoServer diciptakan(akan dibahas nanti) di ikuti dengan pemanggilan method connectToServer oleh object dari InfoServer yang dibungkus oleh sebuah thread, ini diperlukan agar kita keluar dari thread EDT.
1 | public void updateTable(){ |
Seperti namanya method updateTable di class GuiServer ini berfungsi untuk meng-update value row di JTable. Semua yang perlu ditampilkan apabila terjadi action akan memanggil method updateTable ini.
1 | public String tampilkanWaktu(){ |
yeah, i knew, ada Joda Time yang akan di masukkan ke java 7 dengan manajemen tanggal dan waktu yang lebih baik dari pada class GregorianCalendar, tapi sebelum java 7 keluar, kita pake ini dulu untuk mendapatkan tanggal dan waktu saat ini.
Method ini saya rasa bila melihat kode programnya maka Anda akan langsung paham, karena contoh penciptaan instance ServerSocket, Socket dan yang lainnya untuk koneksi client server sudah ada penjelasannya di internet, yang perlu digaris bawahi di sini adalah saat kita menampung waktu dan pesan hingga saat meng update value dari JTable.
Inisialisaasi object class TableBeans ditampung ke dalam ArrayList yang reference ke class TableBeans itu sendiri, bila ini sudah masuk maka kita hanya tinggal memanggil method updateTable dari class GuiServer.
Untuk source code di program client kurang lebih sama penjelasan dengan program server hanya saja di JTable program client ditambahkan 1 field yaitu Order untuk menampung perintah yang diinputkan oleh client.
Mudah-mudahan dengan contoh membuat aplikasi sederhana dengan java socket dan swing ini dapat memotivasi newbie untuk back to fundamental dan tidak terhipnotis dan illfil dengan cepatnya perkembangan teknologi di java, kenali dan praktekan terlebih dahulu satu persatu dasar-dasar pemrograman java, maka saya yakin Anda tidak akan bingung lagi saat memasuki dunia enterprise bersama java.
Tidak ada komentar:
Posting Komentar