【发布时间】:2012-07-10 19:10:22
【问题描述】:
我正在使用 java 中的任务托盘图标,我喜欢使用左键打开一个弹出菜单,就像我在右键单击时打开的一样,请帮助我快速响应。
提前谢谢...
这是适用于右键单击的代码需要在左键单击时显示相同的弹出窗口... 不要忘记放置任何名称为“titleImg.jpg”的图片@“src/img”文件夹
只需运行它...这是一个工作示例,但我必须使用左键显示相同的弹出窗口
我已经检查了鼠标监听器,它会监听托盘图标上的左键单击,但是如何使用它来显示弹出菜单???
package com.abc.dao;
import java.awt.AWTException;
import java.awt.CheckboxMenuItem;
import java.awt.Menu;
import java.awt.MenuItem;
import java.awt.PopupMenu;
import java.awt.SystemTray;
import java.awt.Toolkit;
import java.awt.TrayIcon;
public class MyTaskTray {
public static void main(String arg[]){
//Check the SystemTray is supported
if (!SystemTray.isSupported()) {
System.out.println("SystemTray is not supported");
return;
}
final PopupMenu popup = new PopupMenu();
final TrayIcon trayIcon =
new TrayIcon(Toolkit.getDefaultToolkit().getImage(new java.io.File("").getAbsolutePath()+"/bin/img/titleImg.jpg"), "Library Drop");
final SystemTray tray = SystemTray.getSystemTray();
// Create a pop-up menu components
MenuItem aboutItem = new MenuItem("About");
CheckboxMenuItem cb1 = new CheckboxMenuItem("Set auto size");
CheckboxMenuItem cb2 = new CheckboxMenuItem("Set tooltip");
Menu displayMenu = new Menu("Display");
MenuItem errorItem = new MenuItem("Error");
MenuItem warningItem = new MenuItem("Warning");
MenuItem infoItem = new MenuItem("Info");
MenuItem noneItem = new MenuItem("None");
MenuItem exitItem = new MenuItem("Exit");
//Add components to pop-up menu
popup.add(aboutItem);
popup.addSeparator();
popup.add(cb1);
popup.add(cb2);
popup.addSeparator();
popup.add(displayMenu);
displayMenu.add(errorItem);
displayMenu.add(warningItem);
displayMenu.add(infoItem);
displayMenu.add(noneItem);
popup.add(exitItem);
trayIcon.setPopupMenu(popup);
try {
tray.add(trayIcon);
} catch (AWTException e) {
System.out.println("TrayIcon could not be added.");
}
}
}
【问题讨论】:
-
到目前为止你有什么?
-
@Guillaume Polet,感谢您的大力帮助
-
如果答案有助于和/或解决了您的问题,您可以投票和/或接受答案。干杯;-)
标签: java swing trayicon jpopupmenu