Problemas com a Classe Graphics

estou estudando polimorfismo e surgiu um problema…

tenho várias classes que definem formas geométricas que estão todas ligadas a uma superclasse abstrata Forma.
Nesta classe Forma há um método abstrato “draw(Graphics graphics)”, que por exemplo para a forma Retângulo faz “graphics.drawRect(…)”

:arrow: O problema é que eu fiz uma array de Formas para usar um for e desenhar todos os elementos da array na tela… mas o quando faço:

formas[element].draw(Graphics g); 

Aparece um aviso do compilador para apagar o “g”, aí eu apago aí ele diz que não pode encontrar o Graphics…
Só que eu não sei o que há de errado… :frowning:

Alguém aí pode me ajudar? []'s

Manda seu código pra gente dar uma olhada.

tive uns projetos pra fazer, acabei deixando essa dúvida de lado, mas agora voltei a estudar e queria resolvê-la.

o código é esse:

[code] public void draw(Forma[] forma) {

	for(int element = 0; element < forma.length; element++) {
		
		forma[element].desenhar(Graphics g);
		
	}
	
}[/code]

o erro:
Syntax error on token “g”, delete this token TesteGeometria.java Exercicios_09/src line 57

Mostra o codigo do metodo “desenhar”

Já vi o problema. Seguinte, a intância de Graphics vem pelo método paint. Então o que você têm que fazer é a partir do método paint, percorrer pelo array de instâncias de formas passando a intância obtida pelo método paint para elas. Se você não conseguiu entender manda seu código que eu faço a correção e posto.

Bom não entendi muito bem mas que tal fazer algo do tipo:

public void draw(Forma[] forma, JPanel jPanel ) {
 		
 		for(int element = 0; element < forma.length; element++) {
 			
 			forma[element].desenhar( jPanel.getGraphics() );
 			
 		}
 		
 	}

Acho que o problema é justamente conseguir uma instância de Graphics, assim fica mais fácil.

{}´s