有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

将鼠标悬停在系统托盘上,在Java中打开一个气球

如何将鼠标悬停在系统托盘上并在Java中打开气球?我能打开工具头,但不能打开气球

但是,我可以右键单击图标并执行操作,然后执行此操作以打开气球

trayIcon.displayMessage(title, message, TrayIcon.MessageType.INFO)


共 (1) 个答案

  1. # 1 楼答案

    您始终可以使用MouseListener和MouseMotionListener自己模拟工具提示行为:

    String message = "Application running";
    
    int hoverTime = 1000;
    Timer messageTimer = new Timer(hoverTime,
        e -> trayIcon.displayMessage(null, message,
            TrayIcon.MessageType.INFO));
    messageTimer.setRepeats(false);
    
    trayIcon.addMouseListener(new MouseAdapter() {
        @Override
        public void mouseEntered(MouseEvent event) {
            messageTimer.restart();
        }
    
        @Override
        public void mouseExited(MouseEvent event) {
            messageTimer.stop();
        }
    });
    trayIcon.addMouseMotionListener(new MouseMotionAdapter() {
        @Override
        public void mouseMoved(MouseEvent event) {
            messageTimer.restart();
        }
    });
    

    注意Timer是一个javax。摆动计时器,而不是java。util。计时器,因为前者保证其操作将在AWT事件调度线程中执行