Menampilkan Icon Pada System Tray Menggunakan Java | Tempat Belajar dan Berbagi Pengetahuan Java dan PHP
Home » , , , » Menampilkan Icon Pada System Tray Menggunakan Java

Menampilkan Icon Pada System Tray Menggunakan Java

Dipostingkan Oleh Ridwan Labs pada Sabtu, 30 Maret 2013 - Diupdate Pada: 3/30/2013

Sering kali kita melihat aplikasi yang memiliki icon pada system tray. System tray adalah daerah khusus desktop di mana pengguna dapat mengakses program yang sedang berjalan. Daerah ini dapat disebut berbeda pada berbagai sistem operasi. Pada Microsoft Windows, system tray disebut sebagai area Taskbar Status, sementara di Lingkungan Object Model Jaringan GNU (GNOME) Desktop ini disebut sebagai Area Pemberitahuan. Pada K Desktop Environment (KDE) daerah ini disebut sebagai System Tray. Namun, yang jelas pada setiap Sistem Operasi, sistem area selalu di isi oleh semua aplikasi yang sedang berjalan. Biasanya aplikasi yang memiliki icon pada system tray adalah aplikasi yang harus selalu jalan (running).



Salah satu aplikasi java yang harus selalu dijalankan misalnya adalah aplikasi SMS Gateway System. Aplikasi ini harus selalu dijalankan namun jika gui nya selalu tampil bisa mengganggu aktifitas lain. Untuk itu gui harus disembunyikan dan digantikan dengan icon pada system tray. Hal ini untuk menunjukan bahwa aplikasi kita tetap berjalan walaupun gui atau window utamanya tidak terlihat.

Di Java, kita juga bisa menggunakan fasilitas ini. disini kita menggunakan Class SystemTray. Namun Class ini terdapat p[ada Java dengan versi 6 atau yang terbaru. berikut contoh kode untuk menempatkan icon pada system tray:
package javadanphp;

import java.awt.HeadlessException;
import java.awt.Image;
import java.awt.MenuItem;
import java.awt.Panel;
import java.awt.PopupMenu;
import java.awt.SystemTray;
import java.awt.TrayIcon;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.image.BufferedImage;
import javax.swing.Icon;
import javax.swing.JOptionPane;
import javax.swing.plaf.metal.MetalIconFactory;

/**
 *
 * @author Taopik Ridwan
 */
public class JavaTaskBar {

    public static void main(String[] args) throws Exception {
        TrayIcon icon = new TrayIcon(getImage(), "Java Tray Icon", createPopupMenu());
        icon.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                JOptionPane.showMessageDialog(null, "Agan melakukan Klik!");
            }
        });
        SystemTray.getSystemTray().add(icon);

        Thread.sleep(2000);

        icon.displayMessage("javadanphp.blogspot.com", "Silahkan klik disini", TrayIcon.MessageType.WARNING);
    }

    private static Image getImage() throws HeadlessException {
        Icon defaultIcon = MetalIconFactory.getTreeHardDriveIcon();
        Image img = new BufferedImage(defaultIcon.getIconWidth(),
                defaultIcon.getIconHeight(), BufferedImage.TYPE_4BYTE_ABGR);
        defaultIcon.paintIcon(new Panel(), img.getGraphics(), 0, 0);

        return img;
    }

    /**
     * membuat popup menu yang akan ditampilkan ketika taskbar diklik
     * 
     */
    private static PopupMenu createPopupMenu() throws HeadlessException {
        PopupMenu menu = new PopupMenu();

        MenuItem exit = new MenuItem("Keluar");
        exit.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                System.exit(0);
            }
        });
        menu.add(exit);

        return menu;
    }
}

Hasilnya seperti ini:


Silahkan download sample projectnya disini.


Terima kasih sudah meluangkan waktu untuk mengunjungi blog ini.
Share this article :

0 komentar:

Posting Komentar

Cari Artikel



 
Support : Admin
Copyright © 2013. Tempat Belajar dan Berbagi Pengetahuan Java dan PHP - All Rights Reserved
Template Created by Creating Website Modified by CaraGampang.Com
Proudly powered by Blogger