Okay so i figured it out,
first i select the original icon:
BufferedImage im = ImageIO.read(Systray.class.getResource("icon.gif"));
then i use Graphics2D to draw ontop of the image:
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();
then i create a new image icon from the byte array:
ImageIcon imgTmp = new ImageIcon(b);
finally i set the tray icon:
_icon.setImage(imgTmp.getImage());
(_icon is an instance of TrayIcon)
i hope that this helps someone else and if you have a better solution id love to see it