Oi, estou com uma dificuldade q aparentemente eh bem simples… eu tenho uma lista de objetos. Estes objetos tem como atributos as localizações de onde devem ficar. Eu preciso q para cada objetos dessa lista essa desenhado um objeto que eu nomeei como target. Porém, deve ser feito da seguinte maneira: o ultimo elemento da lista deve ser desenhado com o aplha 100%, o penultimo com o aplha 90%, o antipenultimo com o alpha 80% e assim sucessivamente… criei esses dois metodos ( um para criar o laça e outro para desenhar), mas eu não sei por qual motivo, os targets são desenhados todos com o alpha 100%. Será q alguém pode me ajudar?
public void changeColor{
int i= listTarget.size()-1;
Iterator iterator =listTarget.iterator();
while (iterator.hasNext()) {
Target aux = (Target) iterator.next();
JLabel newTarget = new JLabel();
metodos.drawTarget(corDesenho,i);
newTarget = metodos.getTarget();
newTarget.setLocation(aux.getPosTargetX() , aux.getPosTargetY());
newTarget.setVisible(true);
layeredPane.add(newTarget, new Integer(atualizaContLabels()));
i--;
}//end while
public class Metodos{
public void drawTarget(Color color, int i){
double alpha= (100-(100*i*0.2))*0.01;
float f = (float)alpha;
Graphics2D gr = bf3.createGraphics();
gr.setColor(color);
gr.setComposite(AlphaComposite.SrcOver.derive(f));
gr.setStroke(new BasicStroke(2.0f));
gr.drawOval(8,8,24,24);//oval
gr.drawOval(12,12,16,16);//oval
gr.setStroke(new BasicStroke(2.0f));
gr.drawLine(2,20, 17,20);//linha horizontal 1
gr.drawLine(23,20,38,20);// linha horizntal 2
gr.drawLine(20,3,20,18);//linha vertical 1
gr.drawLine(20,23,20,38);//linha vertival 2
gr.dispose();
imagem3=new JLabel(new ImageIcon(bf3));
imagem3.setLocation(0,0);
imagem3.setSize(40,40);
}
public JLabel getTarget(){
return imagem3;
}
}