java - 将徽章添加到托盘图标(java)

标签 java awt system-tray

我用 java 创建了一个简单的应用程序来显示托盘图标,并从那里显示分配给我的 JIRA 问题列表。

我目前拥有的是一个托盘图标,当您右键单击它时会弹出一条弹出消息,其中包含分配给我的最后 10 个 Unresolved 问题,当您单击一个菜单项时,它会将您定向到您想要的问题首选浏览器。

我现在希望它做的是在托盘图标顶部显示一个徽章,显示我有多少 Unresolved 问题。我有查找问题数量的代码,但我终生无法弄清楚如何将徽章添加到托盘图标。

我正在使用:

java.awt.MenuItem;
java.awt.PopupMenu;
java.awt.SystemTray;
java.awt.TrayIcon;

创建托盘图标和弹出菜单。

任何帮助将不胜感激

谢谢

最佳答案

好吧,我想通了,

首先我选择原始图标:

BufferedImage im = ImageIO.read(Systray.class.getResource("icon.gif"));

然后我使用 Graphics2D 在图像上绘制:

Graphics2D g2 = im.createGraphics();

g2.setColor(Color.BLACK);
g2.drawString("10", 2, 10);

ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write(im, "png", baos);
byte[] b = baos.toByteArray();

然后我从字节数组创建一个新的图像图标:

ImageIcon imgTmp = new ImageIcon(b);

最后我设置了托盘图标:

_icon.setImage(imgTmp.getImage());

(_icon 是 TrayIcon 的一个实例)

我希望这对其他人有帮助,如果您有更好的解决方案,我很乐意看到它

关于java - 将徽章添加到托盘图标(java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18235243/

相关文章:

java - 如何监听TrayIcon消息的点击

java - jsp 自动完成 ="off"在 Chrome 或 Firefox 中不起作用

java - 列表到 map - Collectors.toMap()

java - 在应用程序打开时手动更改时间后,Volley 未请求新请求

java - 如何检查 JButton 是否已按下?如果 isEnable() 不起作用?

.net - 如何以编程方式关闭 BalloonTip?

java - 编译 Java 源代码时出现非法字符错误

java - 使用透明图像的 AWT 自定义窗口形状

java - Swing 问题绘制 2 个图像

java - Swing:从其他应用程序中窃取焦点(在 OS X 中的可用性)