Java2D geração de imagens[Resolvido!]

Ola pessoal eu fiz um classe onde gerar alguns desenhos em Java2D …
estava dando certo…porem eu cetava no select o que queria… quando coloquei para trazer so daquela cidade ele criou a 1ª imagens normal e a 2ª ele criou so q montou a 1ª em cima!!! tentei aki varios metodos mais nao tive Sucesso!!
Obrigado opela atenção!
vlw
abs

Aki esta a Classe!

[code]while((rs.next())){

		 setX( rs.getInt("cx")-200);
		 setY( rs.getInt("cy")-200);
		 setX_( rs.getInt("cx_")-200);
		 setY_( rs.getInt("cy_")-200);
		 int nnn = (rs.getInt("sequencia"));
		 setSequencia(rs.getString("sequencia"));
                     String chave = (rs.getString("chave_fk"));

Graphics2D g1 = imagem.createGraphics();
g1.setColor(Color.WHITE);
//g1.drawRect(0,0,820, 677);
g1.fillRect(0,0, 820, 677);
g1.setFont(bigFont);
g1.drawString(“Pontos”,80,20);
g.setFont(bigFont);
g.drawString(“Pontos”,80,20);
if(nnn == 1){
g1.setColor(Color.LIGHT_GRAY);
g1.fillArc(getX(),getY(),20,20,0,360);
g1.setColor(Color.black);
g1.drawString(getSequencia(), getX()+4,getY()+15);

if(nnn > 1){
g1.setColor(Color.white);

			 g1.drawLine(getX_()+12,getY_()+12,getX()+12,getY()+12);

if(lum.equals(“PST”)){
g1.fillArc(getX(),getY(),20,20,0,360);
//g.fillArc(getX(),getY(),20,20,0,360);
//
g1.setColor(Color.black);
g1.drawString(getSequencia(), getX()+4,getY()+15);
}else{

				 g1.setColor(Color.magenta);
			     g1.fillArc(getX(),getY(),20,20,0,360);
			     g1.setColor(Color.black);
			     g1.drawString(getSequencia(), getX()+4,getY()+15);

setXy1 (new ArrayList());
getXy1().add(getX());

		setYx2(new ArrayList<Integer>());
		getYx2().add(getY());
		//xy.add(getY());
		//xy.add(getN());
		setN(new ArrayList<Integer>());
		getN().add(nnn);
		setRes(true);
	 }
		}

g1.setPaint(Color.white);
g1.dispose();
ImageIO.write(imagem, “jpg”, new File(“C:/export.jpg”));
}
}[/code]

Você não deveria estar dando nomes de arquivos diferentes?

Sim Sim ta assim agora

vlw

po eu so quero limpar a 1ª imagem criada!!!
quando eu criu a 1ª ele continua desenhada!!! e por isso cobre as outras quem vem depois!!!
vlw

alguem +
Por favor me ajudem ae

Ainda nem entendi qual é o seu problema. Como assim “não apaga a imagem”. Você não está gerando imagens diferentes?

veja bem!!! eu estou gerando as imagens acontece que quando gera a primeira fica norml a imagem q quero ex: uma Bola
quando ele gera a segunda ex: “Quadrado” ele pega gera duas imagens a Primeira a Bola normal sozinha e segunda ele gera a Bola e o Quadrado!!!
vlw

Ok, mas antes de desenhar um quadrado, você não dá um fillRect para limpar a imagem?

acredito q nao pq fica tudo dentro do WHILE entao vem varios dados de coodenadas para poder desenhar uma imagens so e ae quando vem dados diferentes acontece o problema.

Mas se vc não dá o comando para limpar, como você espera que o java limpe?

Você deve identificar quando os dados são diferentes, e dar o fillRect.

to tentando fazer isso mais nao dar quando faço isso ele so cria um ponto!!!
sao varios pontos para uma imagens so!!

Você tem que fazer o fillRect só quando terminou de desenhar os vários pontos de uma imagem, e vai iniciar os vários pontos de outra.
Se você nem sequer sabe em que momento isso ocorre, sugiro que reveja sua lógica. Mas provavelmente será possível colocar o código do fillRect dentro de algum tipo de if.

hum… terei q rever msm "minha lógica "depois de tantos testes sem sucesso!!
aki ,achei q iria resolver meu problema!!
Muito obrigado pela atenção!!!
vlw
abs

alguém +;

Por favor…

Obrigado!!!

vlw
abs

alguém aeeee;
vlw
abs

Não entendi, qual é a dúvida agora?

Você precisa colocar um if no seu while, para limpar a imagem sempre que trocar a cidade. Provavelmente vai ser algo parecido com isso:

if (!ultimaCidade.equals(rs.getString("cidade")) { g1.setColor(Color.WHITE); g1.fillRect(0,0, 820, 677); ultimaCidade = rs.getString("cidade"); }

Mas isso já não é mais um problema gráfico. Só você conhece o que tem dentro do seu banco de dados, por isso, é você que terá que pensar nessa lógica.
Não faz mal nenhum pensar um pouco no problema, antes de sair upando tópico no GUJ, não acha? Como eu falei, se nem você sabe quando o seu resultset troca de uma cidade e começa a processar outra, não é a gente que vai saber.

sim pode ter razão mais você não acha que estou fazendo isso por que já tentei de varias maneiras?
já que não estou vendo o problema! achava que aqui alguém viria e me desse uma Orientação Lógica!!

Não custa nada pergunta como também não custa nada responder!!!
Obrigado pela atenção!!!
vlw
abs

Sobre a duvida!!
A minha dúvida continua mesma !!!
primeira imagem que gera sobrepõem a segunda!! e assim por diante Ex: se gera 10 imagens a ultima imagem terá as outras nove!!
vlw
abs

Ok.

Volto a dar a orientação que damos a todos no GUJ. Não fique upando tópicos.

Se você não tem mais informações a acrescentar, então será impossível para nós resolvermos seu problema. Lembre-se que não podemos compilar o sistema, ou executa-lo, que não conhecemos a informação do seu banco de dados, e que não sabemos exatamente o que seu sistema precisa fazer.

Eu já comentei ali o caminho das pedras, como tinha comentado em um post anterior. Agora cabe à você montar a solução. E, como te alertei em outro tópico, tenha muito carinho ao montar uma aplicação gráfica. Se manter o seu código bagunçado, vai realmente ser muito difícil chegar ao resultado que você deseja.

Ok!

a pedidos não ficarei upando tópicos.

sobre isso!

estarei a disposição e acrescentar !!
apenas imaginei que a Classe que disponibilizei ajudaria!!!

vlw
abs