Duvida com Graphics

Boa tarde.
estou estudando tecnologia j2me para pode cria jogos , e estou tentando elabora umas classes que simule a api awt para eu produzir os jogos (estou muito habituado a usa a awt que num consiguo entender nada sobre o GameCanvas).

cheguei até esta parte

//Classe Canvas para j2me
protected void paint(Graphics g) {

            // Implementa o código visual inferior do canvas(caso exista)
	g.setColor(0,0,255);
	g.drawRect(0,0,getWidth(),getHeight());
	
	// Chama os paint de todos os subcomponent 
	g.setClip(subComponent.getX,subComponent.getY,   subComponent.getWidth,subComponent.getHeight); /*<- isso ira cria o retangulo visual onde o subcomponente ira c desenhar*/
	g.translate(10, 10);/*<- converta a base das coordenadas para coordenada nos args(como c o 10 vira-se 0)*/
        component.paint(g);
	
	// Implementa o código visual superior do canvas(caso exista)
	g.translate(-g.getTranslateX(),-g.getTranslateY());
	g.setClip(0,0,getWidth(),getHeight());
	//...

}

//Ja no meu component
public void paint(Graphics g) {
g.setColor(0,255,0);
g.drawRect(0 , 0, subComponent.getWidth,subComponent.getHeight);
}

bom o q acontece eh uma simples bobeirinha que quando eu uso o setClip e passo o tamanho da area que eu quero reservar , quando eu compilo e olho meu componente fica q faltando 1 pixel da area reservada
(Neste caso ele desenha um quadrado sem os lado superior esquedo)

minha pergunta eh , existe como resover isso , c eu to usando essas ferramenta de forma errada ou eu vo ter q cria um script pra reserva a area com 1 pixel a mais ou isso e devido a tecnologia j2me (apsear de eu tb ter testado na awt e ter dado o mesmo resultado).

Oi. Comece usando a tag code para deixar esse seu código formatado.

Senão fica muito mais difícil alguém se predispor a ler. Se você ainda não sabe fazer isso, leia isso:
http://www.guj.com.br/posts/list/50115.java

Ops desculpe pela ma formatação

[code]//Classe Canvas para j2me
protected void paint(Graphics g) {

// Implementa o código visual inferior do canvas(caso exista)
g.setColor(0,0,255);
g.drawRect(0,0,getWidth(),getHeight());

// Chama os paint de todos os subcomponent
g.setClip(subComponent.getX,subComponent.getY, subComponent.getWidth,subComponent.getHeight);// isso ira cria o retangulo visual onde o subcomponente ira c desenhar
g.translate(10, 10);// converta a base das coordenadas para coordenada nos args(como c o 10 vira-se 0)
component.paint(g);

// Implementa o código visual superior do canvas(caso exista)
g.translate(-g.getTranslateX(),-g.getTranslateY());
g.setClip(0,0,getWidth(),getHeight());
//…
}

//Ja no meu component
public void paint(Graphics g) {
g.setColor(0,255,0);
g.drawRect(0 , 0, subComponent.getWidth,subComponent.getHeight);
}[/code]