DropDownButton di Java Swing
Wuuuuuuuuuuuah udah lama ga ngisi blog maklum sekarang udah ga kerja di warnet lagi
, berhubung sekarang sudah dapat akses internet and udah dapat kerja lagi ditempat “idaman”
Sekarang kegiatan nge-blogging bakalan jalan lancar lagi
Untuk teman-teman yang senang bermain di Java Swing, mungkin pernah punya keinginan untuk membuat atau mencari sebuah button yang mempunyai karakteristik seperti button milik NetBeans dibawah ini :

Click to View Large Image
Jika teman-teman mempunyai keinginan tersebut tetapi belum tahu bagaimana caranya atau belum menemukannya, mungkin tulisan sederhana saya ini bisa sedikit membantu permasalahan teman-teman
Komponen ini saya beri nama MDropDownButton (eh bener ga ya namanya dropdown button ?
) dan tampilan dari MDropDownButton tersebut adalah seperti ini :

Click to View Large Image
MDropDownButton diatas merupakan subclass dari JToggleButton (supaya tampilan button-nya tidak jauh berbeda di semua LAF yang sudah di support oleh Java Swing) dan menggunakan JPopupMenu untuk menu drop down-nya, dan jika teman-teman ingin menggunakan komponen tersebut di project-nya silahkan kopi paste kode MDropDownButton.java dibawah ini :
55fc464fd3b998036ae7ceb2e9a7ad44000
Penjelasan kode diatas adalah sebagai berikut :
- Agar MDropDownButton ini mempunyai efek selected ketika menampilkan menu drop down-nya, maka membuat subclass dari JToggleButton merupakan pilihan yang cocok dan ini bisa dilihat pada baris ke 48. Mengapa menggunakan JToggleButton ? Karena kalau kita menggunakan JButton, ketika user menekan button tersebut maka efek selected-nya hanya tampil sekejap.
- Pada baris 51-55 kita mempersiapkan beberapa komponen yang kita perlukan untuk tampilan MDropDownButton tersebut, salah satunya yaitu JPopupMenu.
-
Sedangkan pada baris 57-78 ini berfungsi agar class MDropDownButton ini dapat digunakan tanpa melalui IDE, maksud-nya yaitu agar kita dapat langsung menambahkan MDropDownButton ini langsung dengan cara sebagai berikut :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
.... JPopupMenu popUpMenu = new JPopupMenu(); ImageIcon iconKu = new ImageIcon("icon.gif"); popUpMenu.add(new JMenuItem("Menu Item 1")); popupMenu.add(new JMenuItem("Menu Item 2")); // Kalau ingin Button-nya tidak ada text-nya + no icon MDropDownButton dropButton = new MDropDownButton(popupMenu); // Kalau penggunaan spt ini, sama saja kayak JButton biasa :D MDropDownButton dropButton = new MDropDownButton("Print", iconKu); // Pakai Icon button , text dan Popupmenu MDropDownButton dropButton = new MDropDownButton("Print", iconKu, popupMenu);
-
Pada baris 80-112 ini berfungsi agar button ini dapat di set enabled / disabled
- Pada baris 115 ini berfungsi untuk menambahkan JPopupMenu yang akan ditampilkan, method ini meg-overide dari JToggleButton.
-
Pada baris 131-164 ini adalah method yang berfungsi untuk mengatur penempatan 2 buah JLabel saja, selain itu pada method ini juga dipasang event MouseListener pada lblIcon agar ketika pengguna menekan lblIcon tersebut (icon expand-nya) maka popup menu akan ditampilkan
- Sedangkan pada method pada baris 166-184 ini befungsi untuk menampilkan popupMenu yang telah ditambahkan dan menampilkan-nya pada posisi tepat dibawah lokasi MDropDownButton ditampilkan dilayar.
-
Sedangkan pada baris 186-189 ini tidak digunakan, karena yang dibutuhkan cuman method mouseClicked ajah
Asyik bukan bisa bikin button sendiri, button mau-mau kita
Saran dan kritik dari teman-teman saya tunggu juga loh, ayo rame-rame bikin custom component di Java Swing sapa tahu nanti dilirik ama SwingX terus dimasukin ke API-nya cool kan
(halah ngimpi mode ON)
[...] Kode Yang Ingin Di Jadikan Sebagai Custom Komponen Pada posting saya yang kemarin, saya pernah menulis bagaimana cara membuat sebuah DropDownButton pada Java Swing dan class [...]
piano sonatas…
[...] Good piano performance. Thanks heaps for this!… if anyone else has anything it would be much appreciated. Great website http://www.en.Grand-Pianos.org Enjoy!…
Bentar mas nanti saya kopi errornya ;;)
Btw ada errornya ga mas ?? Klo ada sekalian di copy paste ajah disini
Mas saya mau tanya masalah Ireport, kemaren saya udah buat program sederhana dengan menggunakan ibatis trus, pinginnya reportnya pake ireport, eh coba2 wah udah tak rubah datanya pake List kok masih ada yang error, tolong di jelasin yang bennar setingannya gimana, sebelumnya saya ucaplan terimakasih
Wah, setelah aku coba ternyata bagus ya mas..
thx..
*blm pernah terpikirkan selama ini*