首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将JPopupMenu添加到TrayIcon中

将JPopupMenu添加到TrayIcon中
EN

Stack Overflow用户
提问于 2012-10-01 04:25:59
回答 5查看 5.6K关注 0票数 15

我想将JPopupMenu作为一个TrayIcon (i.e systemTray.add(trayIcon))添加到任务栏中,但我还没有找到一种方法来执行文档,TrayIcon的构造函数类似于:

代码语言:javascript
复制
public TrayIcon(Image image,
            String tooltip,
            PopupMenu popup)

有什么办法我能做到吗?

EN

回答 5

Stack Overflow用户

发布于 2016-03-16 06:09:40

这是一个已知的问题。有一个错误报告,它包含解决方案的大纲。我对此作了如下调整:

代码语言:javascript
复制
// Build your popup menu
final JPopupMenu trayPopup = new JPopupMenu();
// I'm using actions, there are other ways of doing this.
trayPopup.add(someFantaticAction);

// Get your tray icon
trayIcon = new TrayIcon(icon, "My awesome application");

trayIcon.addMouseListener(new MouseAdapter() {

    @Override
    public void mouseReleased(MouseEvent e) {
        maybeShowPopup(e);
    }

    @Override
    public void mousePressed(MouseEvent e) {
        maybeShowPopup(e);
    }

    private void maybeShowPopup(MouseEvent e) {
        if (e.isPopupTrigger()) {
            trayPopup.setLocation(e.getX(), e.getY());
            trayPopup.setInvoker(trayPopup);
            trayPopup.setVisible(true);
        }
    }
});
票数 6
EN

Stack Overflow用户

发布于 2013-04-21 14:01:19

对于当前的TrayIcon实现,不可能直接向TrayIcon添加JPopupMenuJMenu。但是,有些人确实通过实现一个定制的MouseListener来解决这个问题,它只在Trayicon上听到右键单击。当鼠标右键单击时,将弹出菜单的位置设置为event.getXOnScreen()event.getYOnScreen(),并设置为可见位置。

票数 2
EN

Stack Overflow用户

发布于 2021-06-08 13:47:07

如此兴奋,我发现了一个solution.The的想法如下:

  1. TrayIcon trayIcon =新的TrayIcon(图像,“提示文本”);//弹出参数不再需要。
  2. TrayIcon.addMouseListener(新CustomTrayIconMouseListener());
  3. 类CustomTrayIconMouseListener扩展了MouseAdapter,在TrayIconMouseListener类中您需要完成两件事: 3.1定义JPopupMenu类型的成员变量,并执行您想要做的事情,例如添加一些JMenuItem等等。 3.2重写mouseClicked方法,然后通过判断鼠标右键单击事件来弹出JPopupMenu(setVisible方法)。您需要在弹出JPopupMenu(setLocation方法)之前设置它的位置。

因为我今天也遇到了这个问题,我刚才想到了这个想法,现在我正在努力解决这个问题,现在我正在编写代码。也许我还会遇到其他问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12667526

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档