Boa tarde, ando a resolver uns exercícios de java e deparei-me com um problema que não sei como remover dados de um arraylist nem colocar um objeto a piscar.
O meu problema é o seguinte:
O utilizador na classe linha introduz os valores (para desenhar uma linha para o ecrã), e eu queria que depois na class desenho pode-se alterar o valor da posicao x por exemplo.
A outra questão é, como consigo por a linha que é desenhada no ecrã a piscar ?
Código class Linha:
public class Linha extends Figura
{
public Linha(String Nome, String Cor, int x, int y, int xTamanho, int yTamanho)
{
super(x,y,Nome,Cor); //chamo o construtor da figura
this.xTamanho=xTamanho;
this.yTamanho=yTamanho;
}
public void desenha(Canvas canvas)
{
canvas.setForegroundColor(Cor.converteCor(getCor()));
canvas.drawLine(getX(), getY(), getTamanhoX(), getTamanhoY());
}
}
Código da class Desenho:
import java.util.ArrayList;
public class Desenho
{
private ArrayList<Figura> figuras;
private Canvas canvas;
private String nome_objeto;
private int nova_posicaoX;
public Desenho()
{
canvas = new Canvas("Editor Gráfico", 600, 600);
canvas.setVisible(true);
figuras = new ArrayList<Figura>();
}
public void desenha()
{
for(Figura f : figuras)
{
f.desenha(canvas);
}
}
public void addFigura(Figura figura)
{
figuras.add(figura);
}
public void lista_objetos()
{
System.out.println("Os Objetos Criados foram : ");
for(Figura f: figuras)
{
System.out.println(f);
}
}
public void lista_propriedades_objetos()
{
System.out.println("As Propriedades dos Objetos Criados foram : ");
for(Figura f: figuras)
{
System.out.println("Nome: " + f.getNome() + " Cor: " + f.getCor() + " Posição x: " + f.getX() + " Posição y: " + f.getY() + " Tamanho no eixo dos x: " + f.getTamanhoX() + " Tamanho no eixo dos y: " + f.getTamanhoY());
}
}
public void Objeto_piscar()
{
//objecto para piscar
}
public void Altera(String nome_objeto, int nova_posicaoX)
{
this.nome_objeto=nome_objeto;
for(Figura f: figuras)
{
if(f.getNome().equals(nome_objeto))
{
this.nova_posicaoX=nova_posicaoX;
// gostaria de alterar aqui, já tentei com o set mas não consegui
}
else
{
System.out.println("Não alterou - Verifique se o nome do objeto está correto");
}
}
}
}
Desde já Obrigado :)
