Temen-temen mungkin udah ga asing lagi denganyang satu ini:
Yup, TrayIcon, memang terkadang kita sering menginginkan Aplikasi yang kita buat dilengkapi dengan Tray icon, terlebih jika aplikasi yang kita buat nantinya akan digunakan terus-menerus (Ex. biling, dan aplikasi sejenisnya). Dengan TryIcon ini aplikasi yang dibuat akan tetap dapat berjalan tanpa menghabiskan banyak tempat di layer.
Tapi gimana buatnya????. Dalam postingan kali ini saya akan menunjukan cara membuat TrayIcon untuk java, untuk Delphi dan yang lainnya Insya Allah nyusul (Halo Sempet hehe).
Ok untuk membuat TrayIcon pada Java (Saya menggunakan JDK 6, untuk JDK versi sebelumnya saya belum coba :)), ada 3 konstruktor :
* TrayIcon(Image nama_image)
Membuat TrayIcon dengan nama_image sebagai Iconnya.
* TrayIcon(Image image, String tooltip)
Membuat TrayIcon dengan nama_image sebagai Iconnya, dan Ditambahkan Tooltip Sebagai Tambahan
* TrayIcon(Image image, String tooltip, PopupMenu popup)Membuat TrayIcon dengan nama_image sebagai Iconnya, kemudian di tambah tooltips, juga dengan konstruktor ini kita bisa menambahkan PopUp Menu.
SourceCode lengkap untuk postingan ini dapat di Download di sini.
Supaya lengkap kita akan menggunakan konstruktor yang ketiga sebagai project kali ini.
Supaya lebih menarik, saya membuat sebuah aplikasi untuk menampilkan TrayIcon, kemudian me-minimize frame (send to tray).
Untuk mebuat frame utama berikut kode yang saya gunakan:
...
win=new JFrame("Menampilkan TrayIcon");
win.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
...
win.getContentPane().add(panel);
win.pack();
win.setLocationRelativeTo(null);
win.show();
...
Kemudian kita buat sebuah button dan kita tambahkan actionListener pada tombol untuk membuat TrayIcon dan menyembunyikan frame.
JButton tombol1=new JButton("Sembunyikan Aplikasi & Tampilkan Tray Icon");
tombol1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
tray=new TrayIcon(buatIcon("icon.png","Onta's Programing"), "Demo Tray Icon Powered By BlackOnta", buatMenu());
tray.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
win.setVisible(true);
SystemTray.getSystemTray().remove(tray);
}
});
try{
SystemTray.getSystemTray().add(tray);
win.setVisible(false);
}catch(Exception e){
System.err.println(e);
}
}
});
Perhatikan kode berikut:
tray=new TrayIcon(buatIcon("icon.png","Onta's Programing"), "Demo Tray Icon Powered By BlackOnta", buatMenu());
kode ini yang nantunya akan membuat TrayIcon, kemudian kode:
try{
SystemTray.getSystemTray().add(tray);
win.setVisible(false);
}catch(Exception e){
System.err.println(e);
}
Adalah untuk menempatkan TrayIcon yang kita buat kedalam SystemTray Sistem Operasi. Berikut tampilan dari TrayIcon yang kita buat.
Method buatMenu() pada kontruktor diatas kita bisa buat sesuai dengan keinginan kita. Dalam postingan kali ini, method tersebut saya buat seperti ini:
private static PopupMenu buatMenu(){
PopupMenu menu=new PopupMenu();
MenuItem mKeluar=new MenuItem("Keluar Aplikasi");
mKeluar.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
System.exit(0);
}
});
MenuItem mMuncul=new MenuItem("Tampilkan Aplikasi");
mMuncul.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
win.setVisible(true);
SystemTray.getSystemTray().remove(tray);
}
});
menu.add("Onta's Demo");
menu.add("Onta's Demo");
menu.add(mMuncul);
menu.add(mKeluar);
return menu;
}
Berikut hasil dari menu diatas
Yup. Beres, tinggal dicoba deh, maaf kalau cara ngejelasinnya kuranng bisa di mengerti, dimaklumin aja deh. Kalo ada yang masih bingung tanyain aja langsung, isi di komentar :).
4 komentar: on "Lengkapi Aplikasimu dengan Tray Icon, Pasti lebih menarik. Mau tahu caranya???"
thanks , akhirnya dapet juga tutorial buat bikin tray icon pakai java.
Kalo pake Delphi bisa ngga?Thanks. Ditunggu jwbnnya!
Pake Delphi Juga bisa tinggal pake komponennya kalo gak salah, tapi coba aja cari digoogle, soalnya takut salah dah lama gak ngejamah delphi hehe Pisss
Pake Delphi Juga bisa tinggal pake komponennya kalo gak salah, tapi coba aja cari digoogle, soalnya takut salah dah lama gak ngejamah delphi hehe Pisss
Posting Komentar