skip to main | skip to sidebar

Java Programs and Examples with Output

Pages

▼
 
  • RSS
  • Twitter
Thursday, October 4, 2012

Creating a system tray icon and menu using JAVA AWT

Posted by Admin at 11:35 AM – 0 comments
 

On running the application an icon will appear in the system tray. On left clicking on the icon a menu-submenu will appear. On left clicking on the icon anEXIT option will be shown. Clicking on the exit will remove the icon from system tray.


package systemtray;
import java.awt.SystemTray;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Menu;
import org.eclipse.swt.widgets.MenuItem;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Tray;
import org.eclipse.swt.widgets.TrayItem;


public class SysTrayTest {
    /**
     * 
     * @param args
     */
public static void main(String[] args) {
    if (SystemTray.isSupported()) {
    // We will need this
 final Display display = Display.getDefault();
 // Retrieves the system tray singleton
 final Tray tray = display.getSystemTray();
 // Creates a new tray item (displayed as an icon)
 final TrayItem item = new TrayItem(tray, 0);

 item.setToolTipText("Tray Icon in action");
 item.setImage( new Image(display, "images.jpg"));
 
 // MenuDetect (right click) events
 item.addListener(SWT.MenuDetect, new Listener() {
     
  public void handleEvent(org.eclipse.swt.widgets.Event event) {
     
   // We need a Shell as the parent of our menu
   Shell s = new Shell(event.display);
   // Style must be pop up
   Menu m = new Menu(s, SWT.POP_UP);
   // Creates a new menu item that terminates the program
   // when selected
   MenuItem exit = new MenuItem(m, SWT.None);
   exit.setText("Exit!");
   exit.addListener(SWT.Selection, new Listener() {
    public void handleEvent(Event event) {
        item.dispose();
        display.dispose();
        System.exit(0);
    }
   });
   // We need to make the menu visible
   m.setVisible(true);
  };
 });
 
 //Left click (Selection) events
 item.addListener(SWT.Selection, new Listener() {
     
  public void handleEvent(org.eclipse.swt.widgets.Event event) {
     
   // We need a Shell as the parent of our menu
   final Shell s = new Shell(event.display);
   // Style must be pop up
   final Menu m = new Menu(s, SWT.POP_UP);
   // Creates a new menu item. Add menu items to increase number of options
   // when selected
   MenuItem menu01 = new MenuItem(m, SWT.None);
   menu01.setText("Menu01! "); 
   final MenuItem menu02 = new MenuItem(m, SWT.CASCADE);
   menu02.setText("Menu02! "); 
   //submenu starts
   final Menu subMenu = new Menu(s, SWT.DROP_DOWN);
   //creates submenu items
   final MenuItem menu02Child01 = new MenuItem(subMenu, SWT.PUSH);
   menu02Child01.setText("menu02Child01");
   final MenuItem menu02Child02 = new MenuItem(subMenu, SWT.PUSH);
   menu02Child02.setText("menu02Child02");
   final MenuItem menu02Child03 = new MenuItem(subMenu, SWT.PUSH);
   menu02Child03.setText("menu02Child03");
   //adding subMenu to menu02
   menu02.setMenu(subMenu);
   MenuItem menu03 = new MenuItem(m, SWT.POP_UP);
   menu03.setText("Menu03! "); 
   
   MenuItem leftClick = new MenuItem(m, SWT.None);
   leftClick.setText("LeftClick! Right Click to exit.");

   // We need to make the menu visible
   m.setVisible(true);
  };
 });
 // Wait forever...
 while (true) {
  if (!display.readAndDispatch())
   display.sleep();
 }
}else {
    System.out.println("Sorry your system doesnot support TrayIcon");
}
}
}

Leave a Reply

Newer Post Older Post
Subscribe to: Post Comments ( Atom )
  • Popular
  • Recent
  • Archives
Powered by Blogger.
 
 
 
© 2011 Java Programs and Examples with Output | Designs by Web2feel & Fab Themes

Bloggerized by DheTemplate.com - Main Blogger