作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Netbeans 开发一个 Java 应用程序,我想在系统托盘上创建一个托盘图标,当我右键单击托盘图标时,将显示一个弹出菜单。
我通过拖放创建了一个 jframe 和弹出菜单。
但是我有一个问题。我的弹出菜单有 2 个菜单项( 退出 和 显示登录 )但是选定的菜单项没有突出显示,单击菜单项后,弹出菜单是没有关闭。
这是我的代码:
声明一些全局变量
SystemTray systemTray = null;
Image image = Toolkit.getDefaultToolkit().getImage("D:/key-16x16.png");
TrayIcon trayIcon = new TrayIcon(image);
systemTray = SystemTray.getSystemTray();
try
{
systemTray.add(trayIcon);
} catch (AWTException ex)
{
Logger.getLogger(mainframe.class.getName()).log(Level.SEVERE, null, ex);
}
MouseAdapter trayIconMouseAdapter = new MouseAdapter()
{
// @Override
public void mouseClicked(MouseEvent e) {
trayIconMouseClicked(e);
}
};
trayIcon.addMouseListener(trayIconMouseAdapter);
private void trayIconMouseClicked(java.awt.event.MouseEvent evt) {
if(SwingUtilities.isRightMouseButton(evt))
{
popupMeunu.show(evt.getComponent(), evt.getX(), evt.getY());
}
}
popupMeunu.show(evt.getComponent(), evt.getX(), evt.getY());
来自
popupMeunu.show(jButton1, evt.getX(), evt.getY());
一切都会好起来的。
最佳答案
不要添加您自己的 MouseListener。
传递您的 popupMeunu
(需要是 java.awt.PopupMenu
,而不是 javax.swing.JPopupMenu
)在 TrayIcon
的构造函数中像那样:
TrayIcon trayIcon = new TrayIcon(image, "The Tip Text", popup);
关于java - 如何在 Java 中使用带有托盘图标的上下文菜单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1998074/
我是一名优秀的程序员,十分优秀!