Posts Tagged ‘java swing’

NetBeans 6.9 and Eclispe Helios Shortcut Mapping

Wednesday, September 29th, 2010

Beberapa minggu ini saya sering menggunakan 2 IDE yaitu NetBeans dan Eclipse secara bergantian, karena saya adalah pengguna NetBeans selama ini. Jadinya ketika menggunakan Eclipse, saya mencari-cari apa persamaan shortcut antara NetBeans dan Eclipse. Nah dibawah ini merupakan daftar persamaan shortcut antara NetBeans dan Eclipse yang sering saya gunakan dan yang saya baru tahu :D

Function Eclipse Shortcut NetBeans Shortcut
Move Line Up/Down ALT + UP/DOWN ALT + SHIFT + UP/DOWN
Delete One Line CTRL + D CTRL + E
Auto Import CTRL + SHIFT + O CTRL + SHIFT + I
Moving to Another Active Tab CTRL + E CTRL + SHIFT + TAB
Goto File CTRL + SHIFT + R ALT + SHIFT + O
Rename ALT + SHIFT + R CTRL + R
Copy One Line UP/DOWN CTRL + ALT + UP/DOWN CTRL + SHIFT + UP/DOWN
Comment / Un Comment CTRL + / CTRL + /
Create Method/Local Variable/Variable CTRL + 1 ALT + ENTER
Open Type/Class CTRL + SHIFT + T CTRL + O
Autoformat CTRL + SHIFT + F ALT + SHIFT + F

Dari daftar diatas, masih ada 1 lagi shortcut di NetBeans yang saya belum tahu persamaan-nya di Eclipse :( . Shortcut tersebut adalah ALT+SHIFT+LEFT/RIGHT, shortcut ini fungsinya untuk memindahkan baris/blok kode ke kanan atau ke kiri. Jadi dengan menggunakan shortcut ini, saya tidak perlu menekan tombol TAB agar baris/blok method saya jadi sinkron dengan kode diatas-nya :)

Nah bagaimana dengan teman-teman ?? Apakah teman-teman mempunyai daftar persamaan shortcut antara NetBeans dan Eclipse yang belum ada di daftar saya ?

Simulasi Slow Network Dengan LagFactory

Tuesday, August 17th, 2010

Pernah ingin mencoba melakukan simulasi “jaringan lambat” ?? Jika iya, maka teman-teman dapat mencoba menggunakan sebuah shell script dengan nama LagFactory yang bisa di unduh pada http://software.inl.fr/trac/wiki/LagFactory :) Agar dapat menggunakan script LagFactory ini, editlah dahulu variabel IFACE dan TARGET sesuai dengan kebutuhan kita. Nah sebagai contoh, jika kita ingin melakukan simulasi pada komputer kita sendiri gantilah isi variabel IFACE dan TARGET menjadi seperti dibawah ini :

27
28
IFACE="lo lo" # Input and output interface to simulate lag in INPUT and OUTPUT
TARGET="0.0.0.0/0" # Host or network to apply lag on

Setelah selesai, sekarang jalankanlah dengan menggunakan akses root (#) dengan cara seperti dibawah ini :

root@martinusadyh:[/home/martinus/Desktop]# ./lagfactory.sh start 10000 10
DELAY : 10000 ms
LOSS : 10%
RTNETLINK answers: Invalid argument
RTNETLINK answers: File exists
RTNETLINK answers: File exists
RTNETLINK answers: Invalid argument
RTNETLINK answers: File exists
We have an error talking to the kernel
root@martinusadyh:[/home/martinus/Desktop]#

Jika sudah, sekarang coba jalankan perintah ping pada localhost seperti dibawah ini :

martinus@martinusadyh:[/]$ ping localhost
PING martinusadyh (127.0.0.1) 56(84) bytes of data.
64 bytes from martinusadyh (127.0.0.1): icmp_seq=11 ttl=64 time=18625 ms
64 bytes from martinusadyh (127.0.0.1): icmp_seq=13 ttl=64 time=18476 ms
64 bytes from martinusadyh (127.0.0.1): icmp_seq=10 ttl=64 time=21548 ms
64 bytes from martinusadyh (127.0.0.1): icmp_seq=12 ttl=64 time=19786 ms
64 bytes from martinusadyh (127.0.0.1): icmp_seq=14 ttl=64 time=18206 ms
64 bytes from martinusadyh (127.0.0.1): icmp_seq=15 ttl=64 time=19416 ms
martinus@martinusadyh:[/]$

Untuk membandingkan dengan keadan “normal”, sekarang matikan dahulu script LagFactory dengan menggunakan perintah ./lagfactory.sh stop dan cek hasil ping yang seharusnya nilai time yang dihasilkan berkisar dibawah 0.040 ms di seperti dibawah ini :

root@martinusadyh:[/home/martinus/Desktop]# ./lagfactory.sh stop
RTNETLINK answers: No such file or directory
root@martinusadyh:[/home/martinus/Desktop]# ping localhost
PING martinusadyh (127.0.0.1) 56(84) bytes of data.
64 bytes from martinusadyh (127.0.0.1): icmp_seq=1 ttl=64 time=0.035 ms
64 bytes from martinusadyh (127.0.0.1): icmp_seq=2 ttl=64 time=0.040 ms
64 bytes from martinusadyh (127.0.0.1): icmp_seq=3 ttl=64 time=0.038 ms
64 bytes from martinusadyh (127.0.0.1): icmp_seq=4 ttl=64 time=0.037 ms
^C
--- martinusadyh ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3001ms
rtt min/avg/max/mdev = 0.035/0.037/0.040/0.006 ms
root@martinusadyh:[/home/martinus/Desktop]#

Sebenarnya apasih tujuan dari posting ini ?? Tujuan utama-nya yaitu adalah agar kita bisa mengetahui seberapa “cepat”-kah aplikasi yang kita bangun jika dihadapkan pada kondisi jaringan yang “jelek” :) (Bayangkan jika kita mempunyai client yang outletnya ada di pelosok desa, dan koneksi yang tersedia hanyalah GPRS saja :D )

Bagaimana teman-teman, tertarik untuk mencoba ??? :)

Referensi

  1. http://software.inl.fr/trac/wiki/LagFactory

Using Git On NetBeans with nbgit Plugin

Sunday, July 25th, 2010

Beberapa hari terakhir ini, kita di ArtiVisi melakukan migrasi repository dari Subversion ke Git :) (cuma masih belum semua, melainkan hanya beberapa project saja yang di migrasikan sedangkan yang lain masih tetap menggunakan Subversion). Migrasi ini dilakukan karena main repo kita sedang di pindah juga, dan ternyata proses pindah server tidak berjalan mulus seperti yang dibayangkan (hard disk server baru ternyata bad sector). Nah untuk mengantisipasi hal ini (seluruh team tidak bisa kerja, karena repository utama mati), maka sebagian project yang masih in-development tree dan timeline-nya mepet dipindah menggunakan Git :) Nah karena kita di ArtiVisi menggunakan NetBeans sebagai IDE utama, maka hal pertama yang dicari adalah dukungan NetBeans terhadap Git dan untungnya kita bisa menginstall plugin nbgit agar bisa menggunakan Git secara lancar di NetBeans IDE :)

Untuk NetBeans 6.9, project nbgit pada saat tulisan ini dibuat belum menyediakan file *.nbm melainkan menyediakan versi source code yang bisa kita download pada alamat http://nbgit.googlecode.com/files/nbgit-0.4-netbeans-6.9.zip. Agar dapat digunakan pada NetBeans, maka kita harus membuat file .nbm sendiri berdasarkan source code yang telah disediakan diatas. Untuk membuat file .nbm dan menginstallnya pada NetBeans, download dan ekstrak-lah source code nbgit tersebut kemudian bukalah pada NetBeans IDE kemudian klik kanan pada project nbgit dan pilihlah menu Create NBM seperti gambar dibawah ini :

CreateNBM
Membuat File NBM

(more…)

Tabbed Container In Stand Alone Swing Application

Thursday, July 8th, 2010

Buat teman-teman yang sudah tahu teknik ini, mungkin tulisan ini bisa dikatakan ketinggalan jaman :D Sebenarnya apa sih maksud tulisan ini ? Tulisan ini cuma ingin menunjukkan pada teman-teman yang belum tahu bagaimana sih menggunakan Tabbed Pane milik NetBeans (TabbedContainer) pada Aplikasi Swing kita :) Kenapa saya bilang tulisan ini ketinggalan jaman ? Karena ternyata, sudah ada yang pernah melakukan hal serupa sejak tahun 2004 lalu :( ( NetBeans versi 4.0, detail artikel bisa dibaca disini ). Kenapa saya posting lagi disini, karena cari tutorialnya ternyata susah juga :D . Jadi harapan saya agar, semoga teman-teman yang belum tahu bisa dengan mudah mencoba dan tidak perlu berlama-lama bermain dengan paman Google :) Ok sudah siap?? Kalau iya, mari kita lanjutkan :)

Seperti teman-teman ketahui bersama, class JTabbedPane pada Swing mempunyai sedikit sekali fitur dan juga JTabbedPane hanya mempunyai 2 buah mode tampilan yaitu SCROLL_TAB_LAYOUT dan WRAP_TAB_LAYOUT yang bisa kita konfigurasi melalui metode setTabLayoutPolicy() (WRAP_TAB_LAYOUT merupakan konfigurasi standart dari JTabbedPane jadi tidak perlu dikonfigurasi lagi agar tampilan tab menjadi mode “wrapping”) Nah sekarang yang menjadi pertanyaan saya yaitu, apakah teman-teman pernah membuat sebuah aplikasi yang mempunyai jumlah tab yang banyak (anggap saja sampai 10 atau 20 tab lebih) dalam 1 form ? Bagaimanakah tampilan tab teman-teman ? Kemudian bagaimana navigasi antar tab ? Dengan menggunakan JTabedPane yang hanya membawa 2 buah mode tampilan akan terasa sangat kurang dan proses navigasi menjadi “susah”. Jika menggunakan tampilan WRAP_TAB_LAYOUT navigasi antar tab memang mudah, tapi dari tampilan akan terlihat sedikit “kurang pas dimata”. Sedangkan jika kita menggunakan tampilan SCROLL_TAB_LAYOUT, dari sisi tampilan bagus (tidak berubah) tapi dari sisi navigasi terasa sangat susah :( (Bayangkan jika kita ingin pindah secara cepat dari tab 20 ke tab 1, dengan menggunakan tampilan SCROLL_TAB_LAYOUT kita harus melakukan klik 1-1 dari tab 20 sampai tab 1 tampil. Hm.. bukan proses yang menyenangkan saya rasa :D ). Untuk menjelaskan ilustrasi saya diatas, mari kita sama-sama melihat screenshot tampilan JTabbedPane dalam 2 mode yaitu SCROLL_TAB_LAYOUT dan WRAP_TAB_LAYOUT dibawah ini :

StandartTabbedPane
Tampilan WRAP_TAB_LAYOUT (atas) dan SCROLL_TAB_LAYOUT (bawah)
(more…)

Call For Paper Programming Tutorial on SlackID Ezine

Tuesday, May 25th, 2010

Hii slacker’s, suka menulis tentang bahasa pemrograman ? Berprofesi sebagai programmer dan kebetulan menggunakan Slackware sebagai sistem operasi utama-nya ? Jika iya, apakah teman-teman mau berbagi pengalaman dengan pengguna Slackware yang lain bagaimana menyiapkan segala keperluan yang dibutuhkan agar kegiatan koding kita menjadi nyaman menggunakan Slackware ? Tidak dapat dipungkiri, menyiapkan “alat perang untuk koding” di Slackware benar-benar merupakan sebuah tantangan tersendiri :) Terutama jika ketergantungan “library” yang digunakan oleh IDE atau bahasa pemrograman-nya sendiri banyak sekali, bisa-bisa kita tidak “produktif” karena terlalu sibuk untuk menyiapkan “alat perang” dahulu :) Dan kalau sudah begini biasanya pindah ke distro yang lebih mudah :D

Untuk teman-teman ketahui, SlackID edisi ke 2 yang akan terbit mendatang akan memasukkan kategori Programming dalam rubriknya :) Nah kira-kira menurut teman-teman slacker’s sendiri, topik apa yang ingin dibahas pada Edisi ke 2 ini ?? Beberapa ide yang muncul pada rapat kemarin adalah membahas bahasa pemrograman dibawah ini :

  1. Shell Script / Bash
  2. Java
  3. Perl
  4. Python
  5. GNU C/C++
  6. FreePascal
  7. Linux Kernel Programming

(more…)