Tom Hawtin の回答を考慮して、より多くの制御を可能にするフレームワークに切り替えることにしました。JOGL と LWJGL はどちらも着色メカニズムへのアクセスを提供しているようです。LWJGL を選択したのは、他のニーズと重複するためです。
このSpace Invaders Tutorialは、Java2D と JOGL、LWJGL の間の素敵なロゼッタ ストーンとして役立つことがわかりました。
LWJGL Sprite クラス用に作成したメソッドを次に示します。
public void drawTinted(int x, int y, float red, float green, float blue)
{
GL11.glPushMatrix();
texture.bind();
GL11.glTranslatef(x, y, 0);
GL11.glColor3f(red,green,blue);
GL11.glBegin(GL11.GL_QUADS);
{
GL11.glTexCoord2f(0, 0);
GL11.glVertex2f(0, 0);
GL11.glTexCoord2f(0, texture.getHeight());
GL11.glVertex2f(0, height);
GL11.glTexCoord2f(texture.getWidth(), texture.getHeight());
GL11.glVertex2f(width,height);
GL11.glTexCoord2f(texture.getWidth(), 0);
GL11.glVertex2f(width,0);
}
GL11.glEnd();
GL11.glPopMatrix();
}