我在java中创建了一个简单的应用程序来显示托盘图标,并从那里显示分配给我的JIRA问题列表。
我目前所拥有的是一个托盘图标,当您右键单击它时,会弹出一条弹出消息,其中包含分配给我的最后10个未解决的问题,当您单击菜单项时,它会指示您到达所需的问题。浏览器的选择。
我现在要做的是在托盘图标顶部显示一个徽章,显示我有多少未解决的问题。我有代码可以找到问题的数量,但我不知道如何将徽章添加到托盘图标。
我正在使用:
java.awt.MenuItem;
java.awt.PopupMenu;
java.awt.SystemTray;
java.awt.TrayIcon;
创建托盘图标和弹出菜单。
任何帮助将不胜感激
由于
答案 0 :(得分:1)
好的,所以我想出来了,
首先我选择原始图标:
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的一个实例)
我希望这可以帮助别人,如果你有更好的解决方案,我很高兴看到它