Graphics2D

Estou trabalhando num módulo de uma aplicação J2EE. Tenho uma Action que, através dos parâmetros recebidos, cria um gráfico (tipo timeline) e devole para a camada de apresentação.
Este gráfico deve ser composto de uma linha representando o tempo e vários retângulos ao longo desta. Cada retângulo deve ter um texto de identificação.
O problema é que os retângulos eu consigo desenhar normalmente (e aparecem na tela, sem probs), mas os textos não aparecem.
Segue código que criei para debugging:

	private BufferedImage teste(){
		BufferedImage bi = new BufferedImage(1000, 100, BufferedImage.TYPE_INT_RGB);
		Graphics2D g2 = bi.createGraphics();
		//cria o fundo branco
		g2.setPaint(Color.WHITE);
		g2.fillRect(0, 0, 1000, 100);

		//cria retangulo
		g2.setPaint(Color.BLUE);
		g2.fillRect(0, 0, 100, 100);

		//cria o texto
		g2.setPaint(Color.BLACK);
		g2.setFont(new Font(Font.DIALOG,Font.PLAIN,10));
		g2.drawString("ABC", 0, 0);
		return bi;
	}

Este método é chamado pela Action, e o resultado é depois convertido em JPG através do comando:

			BufferedImage bi = teste();
			OutputStream os = response.getOutputStream();
			JPEGImageEncoder coder = JPEGCodec.createJPEGEncoder(os);

Esta Action é chamada pela camada de apresentação (a partir do cliente, com o src da img apontando para minha Action)

Alguém poderia me ajudar a descobrir pq o texto não aparece?

Vlw
[]'s

Embora o método setPaint mude a cor do preenchimento, é o método setColor que muda a cor da fonte.
Tente usar g2.setColor(Color.BLACK);

Ah! E antes do return, não esqueça de fazer

tentei com setColor, setPaint, com os 2 juntos… e nada…
e estou sim dando dispose() ao final do código "verdadeiro"
Só pra constar, no javadoc diz que os comandos setPaint e setColor são equivalentes, né?

O que não entendo é pq que os retângulos aparecem… e qquer outro elemento gráfico tbém… só os textos que não…

O estranho é que em outras aplicações minhas, isso funciona perfeitamente desse jeito. A única diferença é que não uso como entrada e nem saída uma BufferedImage. Será que o problema pode ser nestas conversões?