Some colors that look beautiful on screen may be poorly dithered when printed to a printer. Likewise, some Paints that make sense for the screen should be modified or left out entirely when printing. As a result, objects and components (Swing for example) that were designed mainly for onscreen use may have colors or paints that look poor when printed. As an example of this, see Swing bug 6201884.
It would be nice if Java 2D offered a facility to help solve this problem. Perhaps something that allowed both Swing and external developers to design their Components and/or painting code with the concept of alternate printing colors/paints.
Considering only the Color example for a moment, the idea I find most interesting is one of supplying a new class/interface, PrintColor, that wraps an additional color to use for printing. This PrintColor could then be used in place of Color, and Java 2D's PrintGraphics could detect such an interface and swap out the color. In this manner, a single object could be used for both screen and printing, and the right color value to use would be determined by the context in which it is being used.