In my game I'm using Swing/awt (think of a graphical rogue-like) and I draw hundreds of character glyphs of various size onto a canvas. To speed things up I've created BufferedImages for all possible sizes (4pt to 128pt) of each glyph. The different sizes are a must for what I'm trying to do. Then during paintComponent() I draw the glyph using Graphics2D.drawImage(BufferedImage, ...).
This has worked pretty good (much faster than drawText) and I'm happy with the performance. Here's my problem though.
I also want to be able to paint each glyph in different colors (e.g. shades due to lighting or using the same glyph but different color for different monsters). Ideally I would have a black and white bitmap for the glyph of a certain size and then I could combine it with the color I want and PatBlt it to the destination. PatBlt (of the Win32 GDI) would be perfect but I cannot find a Java equivalent. http://msdn.microsoft.com/en-us/library/87akx6s4.aspx
Note that my game is a windowed application and there are lots of auxiliary windows. Thus using a 2D framework is pretty much out of the question unless it can run in windowed mode. Swing/awt solutions are preferred.