//Shapes.java
//Demonstra o desenho de diferentes formas.
import java.awt.Graphics;
import javax.swing.JPanel;
public class Shapes extends JPanel{
private int choice; //escolha do usuário de qual forma desenhar
//construtor configura a escolha do usuário
public Shapes(int userChoise)
{
choice = userChoise;
}
//desenha uma cascata de formas que iniciam do canto superior esquerdo
public void paintComponent(Graphics g)
{
super.paintComponent(g);
for (int i = 0; i < 10; i++)
{
//seleciona a forma com base na escolha do usuário
switch (choice)
{
case 1: //desenha retângulos
g.drawRect(10 + i * 10, 10 + i * 10, 50 + i * 10, 50 + i * 10);
break;
case 2: //desenha elipses
g.drawOval(10 + i * 10, 10 + i * 10, 50 + i * 10, 50 + i * 10);
break;
}
}
}
}
//ShapeTest.java
//Aplicativo de teste que exibe a classe Shapes
import javax.swing.JFrame;
import javax.swing.JOptionPane;
public class ShapesTest {
public static void main(String args[])
{
//obtém a escolha do usuário
String input = JOptionPane.showInputDialog("Digite 1 para desenhar retângulos: \n" +
"Digite 2 para desenhar ovais: ");
int choice = Integer.parseInt(input); //converte a entrada em int
//cria o painel com a entrada do usuário
Shapes panel = new Shapes(choice);
JFrame application = new JFrame(); //cria um novo JFrame
application.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
application.add(panel);
application.setSize(300, 300);
application.setVisible(true);
}
}
Poderiam me explicar esses códigos ?