Pengenalan Pemrograman Jaringan dengan GUI Materi 2 Dosen: Eko Prasetyo Teknik Informatika UMG 2012
GUI Pemrograman Aplikasi saat ini tidak ada yang tidak menggunakan GUI sebagai antar muka dengan user, GUI yang diinginkan user ketika menjalankan aplikasi saat ini dan tidak peduli bagaimana detail proses dalam aplikasi. Misal, user hanya memasukkan input hostname saja (tidak perlu memasukkan port layanan aplikasi yang dipilih). Berikut ini contoh program protokol Daytime untuk mendapatkan tanggal dan waktu dari port 13 host yang namanya dimasukkan user. Disediakan textfield untuk input, dan textarea untuk jawaban keluaran host. Ada 2 tombol: untuk memproses dan untuk keluar. Source code bisa didownload di blog !
GUI Pemrograman Jika menjalankan program ini, kemudian memasukkan alamat tertentu (misal ivy.shu.ac.uk) akan didapatkan tampilan seperti gambar. Sayangnya tidak semua server menjalankan protokol Daytime. Kalaupun ada server yang ditemukan menjalankan protokol tadi biasanya di-blok oleh firewall. Lebih baik membuat aplikasi datetime sendiri. Protokol Daytime: menggunakan kelas Date dari package java.util untuk membuat objek Date yang secara otomatis menghandle hari, tanggal, dan waktu saat itu diserver. Outputnya, menggunakan println di objek dan method toString dijalnkan secara implisit. Source code untuk server bisa didownload di blog !
Scanning port di server Berikut ini akan dibuat program untuk memeriksa range port yang tersedia di host kemudian dilaporkan bahwa port tersebut menyediakan layanan. Cara kerja: program mencoba membuat socket untuk setiap port yang ditentukan, jika socket berhasil dibuat artinya prot tersebut terbuka; jika tidak, IOException akan dibangkitkan. Source code bisa didownload di blog !
Scanning port di server Hasil ketika dijalankan oleh penulis Dijalankan ke server umg, port 0 - 25 Dijalankan ke server plasa.com Dijalankan ke server umg, port 71 - 85
Web Browser Kelas yang bisa digunakan untuk menangani browser Java adalah JEditorPane, yang secara otomatis me-render teks format HTML via method setPage dari objek JEditorPane (juga mendukung format Plaintext dan RTF). Jika hyperlink ada dalam halaman yang didownload, sebuah HyperlinkEvent dibangkitkan ketika user meng-klik dan harus dihandle oleh HyperlinkListener (misal, objek yang mengimplementasikan interface HyperlinkListener ) HyperlinkEvent juga dibangkitkan ketika mouse user digerakkan diatas atau bergerak menjauhi. Kedua proses tersebut juga menyebbakan aktivitas pemrosesan membutuhkan tempat (jika dibutuhkan). Untuk mengimplementasikan interface HyperlinkListener , objek listerner harus memberikan definisi method hyperlinkUpdate, yang menyebabkan HyperlinkEvent terjadi. Method HyperlinkUpdate menentukan aksi yang diambil ketika HyperlinkEvent terjadi. Kelas HyperlinkEvent berisi inner class publik EventType yang mendefinisikan 3 konstanta untuk tipe event hyperlink: ACTIVATED (user meng-klik hyperlink); ENTERED (mouse bergerak diatas hyperlink); EXITED (mouse bergerak menjauhi hyperlink).
Contoh Berikut akan dibuat aplikasi browser. Frame aplikasi mengimplementasikan interface ActionListener , untuk mendefinisikan method actionPerformed , yaitu jika user menekan tombol <Enter> Method showPage merender halaman baru dengan memanggil method setPage dari objek JEditorPane kemudian menampilkan URL page dalam text field.
Contoh
Hasil tampilan browser
Any Question ?