Attaching window system tray icon events to java frame

I need to bring java frame to front on an event with the icon placed in the system tray. Like if I click the mouse on it.. the frame should come to front.
Any body who can help, I will really appreciate.
Thanks in advance
Zeeshan

I am very interested in implementing just such a thing with my Java application. I am in the starting phases of this project and ran across your post in my search for info.
How much do you already have implemented? I.E., can you display the icon but are just having trouble catching the events for when the icon is clicked? Or do you not even have the ability to display the icon yet? I have found the Windows documentation on the MSDN site for the shell function Shell_NotifyIcon(), which is what we want to use but I have not begun any attempts to use it yet.
If you (or anyone else) have any info or have had any success at all with this yet, I would be very interested in hearing how it works. I'll be happy to share any info I find, when/if I get that far.
Thanks,
j

Similar Messages

  • How to put Java application in the MS. Windows System tray

    dear all,
    Is it possible to make a Java application communicate with the MS. Explorer and to put a Java application in the MS. Windows System tray
    Regards

    http://www.esus.com/docs/GetQuestionPage.jsp?uid=624
    or look for madcap on sourceforge

  • ITunes system tray icon goes missing after Windows Explore Crash!

    When windows explore crashes the iTunes system tray icon goes missing.
    Can you please make it so the iTunes icon will still remain in the windows system tray after a windows explore crash?
    Other software I use icons remain in the system tray after a windows explore crash.
    Please fix this APPLE.
    I am running Vista 32Bit
    Thanks
    P.S. it looks like it can be done. Please look at the link below.
    WM_TASKBARCREATED
    http://www.codeguru.com/forum/showthread.php?p=986134

    Hey Michael,
    You can leave feedback for iTunes here:
    http://www.apple.com/feedback/itunesapp.html
    Jason

  • How Can I Minimize a VI to an Icon on the Windows System Tray?

    How Can I Minimize a VI to an Icon on the Windows System Tray?

    There are some examples available online, using both ActiveX and .NET. Try searching for "tray icon".
    It's been a while since I looked at it, but if memory serves, the structures needed to load an icon through the Win32 API are actually quite complicated and not as simple as that article makes them out to be.
    Try to take over the world!

  • Dynadock V system tray icon has vanished

    I have had a Dynadock V since February, 2012. Recently, the system tray icon vanished. Because it's not there, I can't undock to take my laptop somewhere else. I have to shut down the laptop and then I figure it's safe to unplug the dynadock. I've searched for help on the Toshiba website, and all I get is the statement that the icon won't be present unless the computer is connected and a monitor is attached to the dynadock. Well, the computer IS connected and I'm right now watching the monitor connected via the dynadock. But no icon that lets me undock. The users manual clearly says not to disconnect the cable without undocking, and suggests clicking the "show hidden icons button." I've done that, and the icon is not there. Does anybody know what's going on and how to fix it?  Thanks in advance.
    Nancy
    Solved!
    Go to Solution.

    Solution. After messing around with this for way too many hours, I've found a fix. Maybe it can help someone else.
    In Windows Explorer, I found the application that puts the icon in the tray. In my case (Windows 7) it was located at C:/Program Files/TOSHIBA/Dynadock_II/TosDockApp.exe.  Double clicking that put the icon in the tray, but it would be gone the next time I rebooted.
    It needed to be in the Startup folder. I'm guessing that once upon a time it was there and got removed for some unknown reason. (a Windows update?) Right clicked on the application, clicked "Create Shortcut," clicked Yes to placing it on desktop. Then used the Start button, All Programs, and found Startup in the list. Right click, Open. Maneuevered the window so I could see the desktop simultaneously, and dragged the shortcut from the desktop to the list of files on the right side of the Startup window.
    This solution has survived one computer restart, so I'm hoping it will last.
    By the way, copying the application and pasting it in the startup folder didn't work. I had to make the shortcut.
    And Toshiba, if you're listening, I'm still ticked off. Someone in Customer Support should have been able to help me with this. Or it should have been on a troubleshooting page. I've been struggling to find a solution to this problem for months. It wasn't hard -- just not obvious to someone (me) who doesn't work with this software everyday.

  • System tray Icon!!!

    Hi all,
    I have created an application. Now i want that application to be converted to an exe and i also want to post that into the system tray.
    I just need to have an icon in the destop and wen double cliked it has to reach the system tray. On right clicking on the system tray icon i will need a pop window and show certain funcyions like open,etc....
    kindly help me...
    Thanx for reading....

    To generate an executable you need to use an ahead-of-time Java compiler. Here's one: http://gcc.gnu.org/java/. Although that's for *nix you could check whether it's available in cygwin (I'm assuming you need this for Windows). There are some available for windows but I think they're all commercial (i.e., cost money).
    Keep in mind that by doing this you're losing platform independence.
    As for the system tray icon, can't help you there.

  • System Tray Icon Not Displaying - Depending on Launch Style

    Good Morning-
    I'm using the java.awt.SystemTray and TrayIcon classes from 1.6 to create a system tray that acts essentially as a temperature monitor. It's very little code. When I test it from Eclipse, it works great. When I double-click the .jar on my workstation, it works great. When I launch it with java -jar temp.jar, it works great. When I launch it with javaw -jar temp.jar, I get no tray icon, but javaw sits in memory doing something.
    When my users launch it with a .vbs that calls java -jar temp.jar and hides the resulting terminal window, they get no tray icon. When they call java -jar temp.jar, they get the tray icon... and the console window. When they call javaw -jar temp.jar, they get no tray icon. Any of these practices yields a java process sitting in memory.
    When my users double-click the .jar file, they're asked to chose what to open it with. If they chose Java's executable, it says it doesn't know what to do (it isn't called with -jar). Windows doesn't see their jar files as executables like on mine.
    So I have two issues. The result is the system tray icon won't display on users' computers without a window to accompany it. Any idea why? Is it potentially a bug?
    Some code:
    public class SysTrayController {
         // The actual icon that will be updated
         private TrayIcon          icon;
         // The last-set temperature
         private int                    temp;
         // The box that may or may not appear
         private AlertBox          box;
         // No Data received (yet?)
         public final static int NO_DATA = 0;
         // High temperature threshold.  TODO:  Make this user-configurable.
         private final static int     HIGH_TEMP = 80;
         // ... you guess
         private final static String DEFAULT_ICON =  "icons/default.png";
          * Initiate everything.  Grab the system tray, plop the icon in it, and
          * get the icon all set up and ready to go with the default image.
         public SysTrayController() {
              box = new AlertBox();
              SystemTray tray = SystemTray.getSystemTray();
              Image image = Toolkit.getDefaultToolkit().getImage(getClass().getResource(DEFAULT_ICON));
              PopupMenu popup = new PopupMenu();
              MenuItem exit = new MenuItem("Exit");
              exit.addActionListener(new ActionListener() {
                   public void actionPerformed(ActionEvent e) {
                        System.exit(0);
              popup.add(exit);
              icon = new TrayIcon(image, "Temperature Monitor", popup);
              // On double-click, display the alert box
              icon.addMouseListener(new MouseAdapter() {
                   public void mouseClicked(MouseEvent e) {
                        if (e.getClickCount() >= 2) {
                             box.setVisible(true);
              try {
                   tray.add(icon);
              } catch (AWTException e) {
                   System.out.println(e);
          * Set the temperature.
          * Call setIcon() to set the icon to the right number, update the alert
          * box, and if it's time to, display the alert box.
         public void setTemp(int temp) {
              if (this.temp != temp) {
                   this.temp = temp;
                   setIcon(temp);
                   icon.setToolTip(temp + " degrees");
                   box.setAlertMessage("Temperature in the Server Room is at " + temp + " degrees!");
                   box.setIcon(icon.getImage());
                   if (temp > HIGH_TEMP) {
                        box.setVisible(true);
                        icon.displayMessage("Alert", "Temperature in the server room is at " + temp + " degrees!", TrayIcon.MessageType.WARNING);
                   } else if (temp != NO_DATA){
                        box.setVisible(false);
          * Figure out which icon to set the tray icon to, scale it down, and
          * set it.
         public void setIcon(int number) {
              Image image = null;
              if (number == NO_DATA) {
                   image = Toolkit.getDefaultToolkit().getImage(getClass().getResource(DEFAULT_ICON));
              } else if (number >= 60 && number < 100 ) {
                   String iconString = "icons/temp";
                   iconString += number;
                   iconString += ".png";
                   try {
                        image = Toolkit.getDefaultToolkit().getImage(getClass().getResource(iconString));
                   } catch (NullPointerException e) {
                        image = Toolkit.getDefaultToolkit().getImage(getClass().getResource(DEFAULT_ICON));
              image = image.getScaledInstance(16, 16, Image.SCALE_SMOOTH);
              icon.setImage(image);
          * Give back the current temperature.
         public int getTemp() {
              return temp;
    }The main() that calls it looks like this:
         public static void main(String[] args) {
              SysTrayController controller = new SysTrayController();
              Thermometer temp = new Thermometer(HOSTNAME);
              while (true) {
                   controller.setTemp(temp.getTemp());
                   try {
                        if (controller.getTemp() == SysTrayController.NO_DATA) {
                             Thread.sleep(1000);
                        } else {
                             Thread.sleep(SLEEPTIME);
                   } catch (Exception e) {
                        System.out.println(e);
         }

    From the code above, this line actually worked for me:
    image = Toolkit.getDefaultToolkit().getImage(getClass().getResource(iconString));Just place the image inside the source folder and change the iconString thing...
    For example mine looked like this
    image = Toolkit.getDefaultToolkit().getImage(getClass().getResource("/icon.gif"));

  • Dynamic system tray icon tooltips?

    In AIR, can the system tray icon tooltip be dynamically
    generated?
    I want to dynamically display some data whenever the user
    hovers over system tray icon, but it doesn't appear I can do that
    with air.NativeApplication.nativeApplication.icon.tooltip ?
    for example, I tried to dynamically return the current
    date/time but it didn't work:
    air.NativeApplication.nativeApplication.icon.tooltip =
    function(){ return Date()};
    My other thought was to create my own custom "toolip" using
    NativeWindow when a user hovers over the systray (but would like to
    get it to work with
    air.NativeApplication.nativeApplication.icon.tooltip if
    possible)...any other suggestions/tips/thoughts?
    thanks

    I don't believe this is possible. A better strategy may be to
    change the tooltip when the state of your application changes such
    that the text should be updated (rather than in response to a user
    event). However, I don't think the tooltip display will change
    while it is already open.
    Using a native window wouldn't work in this scenario, either.
    The difficulty is still detecting when the mouse is hovering over
    the icon. It is also not possible to definitely locate the icon on
    the desktop, although you can guess using the usableBounds property
    of the Screen class.

  • JPopup and System Tray icon

    Hi there,
    I have a problem with my appl. May ý ask you?
    I made a jpopup for using both menu in window and in system tray icon.
    I used
    trayIcon.addMouseListener(new MouseAdapter() {
            public void mouseReleased(MouseEvent e) {
                if (e.isPopupTrigger()) {
                    jpopup.setLocation(e.getX(), e.getY());
                    jpopup.setInvoker(jpopup);
                    jpopup.setVisible(true);
            });showing jpopup on trayicon.
    But it is not closing itself. To close it, i have to push any menuitem on it.
    Normally popup must close itself if we click mouse on anywhere of screen. But mine is not closing? How can fix this?

    regerybets wrote:
    I red but couldnt find any solution.There is no solution. To get the behavior you desire you need to use trayicon.setPopupMenu(...) . But that method only takes a java.awt.PopupMenu , not a javax.swing.JPopupMenu . The code you posted is a workaround for using a JPopupMenu on a tray icon. Consequently, the workaround has a few limitations that you wont be able to fix.
    EDIT
    Well I came up with a workaround for the workaround. I was wondering what to call the new class when I thought "JTrayIcon" sounds ok. Curious, I googled for the name and eventually came across this [blog entry|http://weblogs.java.net/blog/alexfromsun/archive/2008/02/jtrayicon_updat.html] which references [this class|https://swinghelper.dev.java.net/source/browse/swinghelper/src/java/org/jdesktop/swinghelper/tray/JXTrayIcon.java?view=markup] called JXTrayIcon.
    Turns out this class uses the same solution I came up with. An zero-sized-focused dialog is used to detect when to close the popup menu. When the dialog looses focus (by clicking on the desktop for example), the java popup mechanism automatically closes the JPopupMenu. So instead of posting my solution (which is exactly the same) I'll simply reference you to JXTrayIcon and the blog.

  • How to add a minimize to system tray icon button?

    how can i add a minimize to system tray icon button near the others common buttons usually found on the upper right window bar? (i mean near the _ [] X)
    _ for minimize to taskbar
    [] for maximizing
    X for closing
    i'd like to add a fourth button to the left of the _ button for minimizing to system tray
    like in many programs the fourth button is a dot shaped one that minimizes the program to system tray
    i'd like to add one to my program as well, but i didnt find anything about this kind of buttons neither on google nor on java books
    can anyone help me?
    thank you!

    You can't (easily). The window decorations are controled by the operating system. Your best bet is to change the functionality of the minimize-to-taskbar button and make it into a minimize-to-tray button. In fact, all the programs that minimize to the tray on my computer - about 6 of them - do it this way.
    like in many programs the fourth button is a dot shaped one that minimizes the program to system trayI've never seen this?

  • Issue with System tray icon

    So, I am developing an application that utilizes a system tray icon.
    It's all pretty standard: when you click close, it hides the window and puts a system tray icon in the system tray, when you right click the tray icon, it gives you a menu with options to restore the window or to exit, and if you double left click the icon, it restores the window.
    Also, any time you restore the window, the system tray icon is removed.
    All that stuff works great, its just that instead of putting the image that I want as the icon, the icon is just blank - transparent - nothing. There is a space where it should be, but the image just isn't there.
    The image I'm using is a gif that measures 240 x 240 pixels, and has transparency.
    When the window is hidden, the program does this:
         try {
                    tray.add(trayIcon);
                } catch (AWTException e) {
                    System.err.println("TrayIcon could not be added.");
                }to add the icon to the tray.
    Here's my initialization code. It's in a method called initSysTray, which is called once in the window's constructor.
    if (SystemTray.isSupported()) {
                tray = SystemTray.getSystemTray();
                //image that will be used for System tray Icon
                ImageIcon image = new ImageIcon("Icon2.gif");
                //action listener for the exit menu option
                //that is part of the tray icon's pop-up menu
                //it ends the application
                ActionListener exitListener = new ActionListener() {
                    public void actionPerformed(ActionEvent e) {
                        System.out.println("Exiting...");
                        System.exit(0);
                //action listener for the restore menu option
                //that is part of the tray icon's pop-up menu
                //it unhides the window and removes the tray icon
                ActionListener unHideListener = new ActionListener() {
                    public void actionPerformed(ActionEvent e) {
                        System.out.println("Unhiding");
                        setVisible(true);
                        tray.remove(trayIcon);
                //Action Listener that recieves events from tray icon
                //basically if someone double clicks the tray icon
                //then the window is restored
                ActionListener actionListener = new ActionListener() {
                    public void actionPerformed(ActionEvent e) {
                        System.out.println("Unhiding");
                        setVisible(true);
                        tray.remove(trayIcon);
                //create the pop-up menu
                PopupMenu popup = new PopupMenu();
                //create the exit option
                MenuItem defaultItem = new MenuItem("Exit");
                defaultItem.addActionListener(exitListener);
                //create the restore option
                MenuItem unHideItem = new MenuItem("Restore");
                unHideItem.addActionListener(unHideListener);
                //add the options to the menu
                popup.add(unHideItem);
                popup.add(defaultItem);
                //create the tray icon
                trayIcon = new TrayIcon(image.getImage(), "Bluetooth Remote by D Law", popup);
                trayIcon.setImageAutoSize(true);
                trayIcon.addActionListener(actionListener);
            else{
                System.out.println("System Tray not supported");
            }So, any help with my dissapearing icon would be greatly appreciated.

    Hi, are you not suppose to catch possible exceptions thrown by the TrayIcon constructor? :
    //create the tray icon
                trayIcon = new TrayIcon(image.getImage(), "Bluetooth Remote by D Law", popup);Try surrounding this line of code with a try and catch block. Referring to the API
    documentation, there are 4 possible exceptions that can be thrown. Errors may
    be present there, and we need a way to identify it. :)

  • Can't mount Time Capsule on PC (white system tray icon no longer there)

    My new time capsule is working perfectly on my MacBookPro, however recently I tried to get it to work on my PC laptop. I easily got the wireless internet work on the PC, that's not a problem. I installed the airport utility on my PC and it was able to recognize it through the airport utility interface/configuring window where I could change settings, etc., just like I could on my Mac. There used to be (on my PC) this white icon in my system tray on the lower right of my screen. When I clicked on this I could type my password, as prompted, and mount to the time capsule, which I could now see in My Computer as a drive. I tested a few files by dragging them over into the drive, and it worked fine. Now, a week later the icon in the system tray has disappeared, and I can no longer see the time capsule on my PC in My Computer. I can still click on the airport utility icon in my programs and see/change settings in my time capsule from my PC, but cannot see nor access the drive from My Computer (or mount by clicking on this now missing icon). Anyone else know what I can do? Thanks in advance!

    I was just having this problem and figured out that the white system tray icon is the Airport Base Station Agent. It wasn't running for me for some reason, too, but I found it and started it back up again at C:\Program Files\AirPort\APAgent.exe.
    Here's an Apple Support article (it's a little old) I found that discusses drive mapping in windows with the Airport Base Station Agent: http://support.apple.com/kb/HT1331
    Hope this helps.

  • Need to Lock down Keyboard Manager System Tray Icon

    I run 27 MacBooks at a Secondary School. I have them setup for Windows XP Pro (I'll be setting up the Mac OS over then next few weeks but this is a MS Windows School so lets start slow). Hoever I need to be able to disable the "Boot Mac OS" option on the Keyboard Manager. But still have access to Volume and Eject etc Keys.
    Solution: 1
    a .adm file so that I can contol what is avilable to students through Group Policy (disable reboot in Mac, Disable Boot Camp First time Run Help Screen)
    Solution 2
    A Keyboard driver that will make all the Keys work (and remote if possible) but has no System tray Icon
    Solution 3
    Hide the System tray icon (as say an option in the Boot Camp Control Panel which I can already disable through group policy) then all I need to kill is the anoying first time run help screen.
    The help screen is anoying because for each of the 800 student will probably only login into each laptop once each so that will come up every time, because I reimage every 3 months or so.
    The reboot in Mac OS would be no problem if it did not perminatly change to boot order and the Mac OS side boot change back is too complicated for most first time Mac users. The way I will be introducing the Mac OS is telling them about the hold the "option" key trick on boot. hence the dummys will get what they are expecting, and the smarties have the option without afecting the dummys.
    I relise this is a Devolopers thing but I can find no other way to inform them of the need. I dout I am the only System admin needing this.
    Thank You
    Message was edited by: Solus Venator

    Unfortunately no that did not help
    Using msconfig only stops the Keyboard Manager from running. I can do that simply be removing it from the registry with out the annoying msconfig messages. (good for testing though)
    I have also looked into the Hide tray Icon Path but that only tucks it behind a set of “<<”
    And the reboot function does Permanently Change the Boot Order. (Not the boot sector necessarily, The Boot Order) to change it back you need to login into the Mac OS and System Prefs Disk Boot Select the Boot Camp Part and Reboot …… Big Pain in neck.
    The Keyboard Manager icon does not have an eject option… If is needed for the Eject Key to work (and the Volume Mute, Up, Down, Brightness Up, Down. Note it is not Needed for the Play FF Rew Keys they work fine with the Fn Key)
    Here is the test
    With no icon showing, or an icon with no reboot option : Press The Eject Key if the CD Ejects Success, I also need Volume do not care about the others as much
    As Stated this is a Developer( Programmer) oversite and needs them to put in an option to remove the reboot option from the System tray Icon. Removal of the Icon would also be desirable
    Thank You

  • How to avoid orphaned system tray icon?

    I know how to create a system tray icon for my application using InstallSysTrayIcon().
    I also know how to remove it before the program terminates (calling RemoveSysTrayIcon()).
    But the program closes in an expected way, or through the Task Manager, for example, the icon isn't deleted, and the user could think that the application is still running. Moreover, when you re-launch the application, a second icon is shown.
    The Windows OS removes the orphaned icon when the mouse hovers over the tray.
    It seems that this is an OS issue, and I did some web searches: I found this describing a way to avoid this behaviour in a C# application, but I haven't been able to port this solution to a CVI application.
    Is there a way to do this with CVI 2009?
    Vix
    In claris non fit interpretatio
    Using LV 2013 SP1 on Win 7 64bit
    Using LV 8.2.1 on WinXP SP3
    Using CVI 2012 SP1 on Win 7 64bit, WinXP and WinXP Embedded
    Using CVI 6.0 on Win2k, WinXP and WinXP Embedded

    Hi Luca!
    Anyway if you're worried about program crashes your only option...
    Actually what I'm worried about is a little bit more complicated: my CVI application could be remotely closed by other applications running on the same or other PCs on the LAN. I should avoid the icon is left on the system tray while the application has been closed, giving a wrong information to the user...
    I've been using the task manager only to "simulate" a force close made by a different application.
    And sure, I must increase the error handling as much as I can to avoid application crash
    Vix
    In claris non fit interpretatio
    Using LV 2013 SP1 on Win 7 64bit
    Using LV 8.2.1 on WinXP SP3
    Using CVI 2012 SP1 on Win 7 64bit, WinXP and WinXP Embedded
    Using CVI 6.0 on Win2k, WinXP and WinXP Embedded

  • System Tray icon missing sometimes

    I have an HP printer 4100 series, Gateway computer, Vista.
    I've had two times when I booted up and the HP Printer system tray icon was not in the system tray.
    I will look at the Notification Area setup and one of the icons listed (under Past Items) is "Terminating Digital Imaging Monitor."
    However, I was still able to print normally.  If I reboot, the system tray icon will return.
    I've had the same printer/setup for over a year.  This never happened till today.  Normally the system tray icon will appear at startup.
    It may be one of Vista's quirks - I sometimes notice inconstent things about the system tray icons.
    Anyone know why this might happen?

    I am on the same os and having the same issue. I tried reloading java and found it did not help.
    Please advise.

Maybe you are looking for