Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将徽章添加到托盘图标(java)_Java_Awt_System Tray - Fatal编程技术网

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

将徽章添加到托盘图标(java),java,awt,system-tray,Java,Awt,System Tray,我用java创建了一个简单的应用程序来显示托盘图标,并从中显示分配给我的JIRA问题列表 我现在拥有的是一个托盘图标,当你右键点击它时,弹出一条消息,上面有分配给我的最后10个打开的问题,当你点击一个菜单项时,它会引导你在你选择的浏览器中找到所需的问题 我现在想让它做的是在托盘图标顶部显示一个徽章,显示我有多少未解决的问题。我有代码来查找问题的数量,但我不能为我的生活工作出如何将徽章添加到托盘图标 即时通讯使用: java.awt.MenuItem; java.awt.PopupMenu; ja

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

我现在拥有的是一个托盘图标,当你右键点击它时,弹出一条消息,上面有分配给我的最后10个打开的问题,当你点击一个菜单项时,它会引导你在你选择的浏览器中找到所需的问题

我现在想让它做的是在托盘图标顶部显示一个徽章,显示我有多少未解决的问题。我有代码来查找问题的数量,但我不能为我的生活工作出如何将徽章添加到托盘图标

即时通讯使用:

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的一个实例)

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