Hi,
I have an email-application with a TrayIcon that has a popup menu. For a couple of reasons I need to use a JPopupMenu instead of the java.awt.PopupMenu. Now, my problem is that I can't get it to display any submenus. The menu itself is there but nothing happens when you click it.
public class TrayIcon extends java.awt.TrayIcon implements ActionListener, MouseListener
{
AWTEventListenerProxy proxy;
...
JMenuItem jPreferences;
JPopupMenu jPopupMenu;
...
JMenu jOptions;
public TrayIcon( Image img )
{
super( img, null, null);
this.initJPopupMenu();
this.addMouseListener(this);
}
private void initJPopupMenu()
{
jPopupMenu = new JPopupMenu();
/* Instantiate menu items */
jOptions = new JPopupMenu("Options");
jPreferences = new JMenuItem("Preferences");
/* Initialize menu items */
jPreferences.setActionCommand(PopUpMenuListener.PREFERENCES);
jPreferences.addActionListener(popUpMenuListener);
/* Add items to menu */
jOptions.add(jPreferences);
jPopupMenu.add(jOptions);
}
private class PopUpMenuListener implements ActionListener
{
...
}
public void mouseClicked( final MouseEvent evt )
{
if(evt.getButton() == 3)
{
Point p = evt.getLocationOnScreen();
jPopupMenu.setLocation(p);
jPopupMenu.setVisible(true);
}
else
{
jPopupMenu.setVisible(false);
}
}
public void mousePressed( MouseEvent evt ){}
public void mouseReleased( MouseEvent evt ){}
public void mouseEntered( MouseEvent evt ){}
public void mouseExited( MouseEvent evt ){}
}
Could any one tell me why this doesn't work. I have tried a lot of ways and can't get it to work.
//T