Bom dia
Estou fazendo um trabalho de em java para entregar na faculdade onde o professos pediu para que cada aluno fizesse um programa em java que exibisse dois botões um como o nome de inserir e outro com o nome de retirar, conforme eu pressiono o botão inserir aumenta um retâgulo na minha pilha e conforme eu pressiono o botão retirar reduz um retângulo, porém estou encontrando dificuldade em fazer exibir e desaparecer os retâgulos conforme o código abaixo. O programa abaixo consiste em uma primeira classe onde eu crio o frame e nesse frame eu já crio a pilha, porém estou com dificuldades de implementar dentro da classe retangulo o método actionPerformed, pois dentro dele eu criei um contador que controla o topo e o inicio da pilha e conforme eu insiro ele é incrementado em 1 e conforme eu retiro ele é decrementado de 1, ele seria o meu controle para que quando eu retirasse um retângulo da pilha eu testava o valor dele e removia por exemplo um retâgulo, na verdade eu preciso fazer com que quando eu pressionar o inserir se por exemplo o meu contador = 1 então eu crio um outro retângulo sobre o primeiro retângulo de outra cor e assim sucessivamente mas não consigo criar o retâgulo em cima do já criado e tambám não tenho ideia alguem poria me ajudar?
package aa5511;
import java.awt.<em>;
import java.awt.event.</em>;
import javax.swing.*;
class Painel extends JPanel
{
Painel()
{
repaint ();
}
public void paintComponent (Graphics g)
{
super.paintComponent(g);
Color cor;
cor = Color.BLACK;
g.setColor(cor);
g.fillRect(380,530,50,25);
g.fillRect(380,504,50,25);
g.fillRect(380,478,50,25);
g.fillRect(380,452,50,25);
g.fillRect(380,426,50,25);
g.fillRect(380,400,50,25);
g.fillRect(380,374,50,25);
g.fillRect(380,348,50,25);
g.fillRect(380,322,50,25);
g.fillRect(380,296,50,25);
}
}
public class Retangulo implements ActionListener
{
Button inserir;
Button retirar;
int contador;
Painel pilha = new Painel();
Painel movimentos = new Painel();
public void init()
{
inserir = new Button("Inserir"); inserir.addActionListener(this);
retirar = new Button("Retirar"); retirar.addActionListener(this);
JFrame framepilha = new JFrame("Retangulo");
movimentos.add(inserir);
movimentos.add(retirar);
framepilha.getContentPane().add(pilha);
framepilha.getContentPane().add(movimentos, "East");
framepilha.setSize(800,600);
framepilha.setVisible(true);
}
public static void main (String[] a)
{
Retangulo x;
x = new Retangulo();
x.init();
}
public void actionPerformed (ActionEvent ae)
{
Color cor;
//Graphics g;
Object obj = ae.getSource();
if (obj instanceof Button)
{
Button b = (Button) obj;
if (b == inserir)
{
if (contador < 10)
{
contador = contador + 1;
System.out.print(contador);
if (contador == 1)
{
//g.setColor(cor);
//g.fillRect(380,530,50,25); /*retângulo 01*/
}
if (contador == 2)
{
}
if (contador == 3)
{
}
if (contador == 4)
{
}
if (contador == 5)
{
}
if (contador == 7)
{
}
if (contador == 8)
{
}
if (contador == 9)
{
}
if (contador == 10)
{
}
}
else System.out.print("Excedeu o espaço da pilha");
}
else if (b == retirar)
{
if (contador > 0)
{
contador = contador - 1;
System.out.print(contador);
if (contador == 1)
{
//g.setColor(cor1);
//g.fillRect(380,530,50,25); /*retângulo 01*/
}
if (contador == 2)
{
}
if (contador == 3)
{
}
if (contador == 4)
{
}
if (contador == 5)
{
}
if (contador == 7)
{
}
if (contador == 8)
{
}
if (contador == 9)
{
}
if (contador == 10)
{
}
}
else System.out.print("A pilha está vazia");
}
}//if(obj instanceof Button)
}//actionPerformed
}