如何将鼠标悬停在系统托盘上并用Java打开气球?我能够打开工具提示,但无法打开气球。
但是,我可以右键单击该图标并执行actionPerformed并执行此操作以打开气球
trayIcon.displayMessage(title, message, TrayIcon.MessageType.INFO)
答案 0 :(得分:0)
您始终可以使用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.swing.Timer,而不是java.util.Timer,因为前者保证其操作将在AWT事件派发线程中执行。