public class MyTrayIcon {
private static TrayIcon trayIcon;
private static MouseListener mouseListener;// 托盘图标鼠标事件监听
static {
PopupMenu popupMenu = new PopupMenu();
MenuItem open = new MenuItem("method");
MenuItem quit = new MenuItem("quit");
open.addActionListener((ActionEvent e) -> {
});
quit.addActionListener((ActionEvent e) -> {
});
popupMenu.add(open);
popupMenu.add(quit);
trayIcon = new TrayIcon(new ImageIcon("forest.png").getImage(), "悬浮提示字符串", popupMenu);
trayIcon.setImageAutoSize(true);
}
public static boolean addTrayIcon(){
if(SystemTray.isSupported()){
try{
SystemTray.getSystemTray().add(trayIcon);
}catch(AWTException e){e.printStackTrace();}
return true;
} else {
return false;
}
}
public static void removeTrayIcon(){
if(SystemTray.isSupported()){
SystemTray.getSystemTray().remove(trayIcon);
}
}
/**
* 使用JFrame做界面
* 托盘图标通过鼠标事件与界面的相关操作
* @param frame 响应界面
*/
public static void listen(JFrame frame){
trayIcon.removeMouseListener(mouseListener);
mouseListener = new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
if (e.getButton() == MouseEvent.BUTTON1) {
frame.setVisible(true);
}
}
};
trayIcon.addMouseListener(mouseListener);
}
/**
*使用JavaFx做界面
* 托盘图标通过鼠标事件与界面的相关操作
*/
public static void listen(Stage stage){
trayIcon.removeMouseListener(mouseListener);
mouseListener = new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
if (e.getButton() == MouseEvent.BUTTON1) {
Platform.runLater(() -> {
Platform.runLater(() -> {
stage.show();
});
});
}
}
};
}
}
TrayIcon Demo
最新推荐文章于 2024-10-05 12:07:50 发布