Não estou detectando um erro constante do código ShapesTest.java, que é um complemento de Shapes.java.
Abaixo estou demonstrando os dois códigos:
// 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 userChoice )
{
choice = userChoice;
} // fim do construtor Shapes
// desenha uma cascata de formas que iniciam do 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;
} // fim do switch
} // fim do for
} // fim do método paintComponent
} // fim da classe Shapes
// ShapesTest.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(
"Enter 1 to draw rectangles\n" +
"Enter 2 to draw ovals" );
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 ); // adiciona o painel ao frame
application.setSize( 300, 300 ); // configura no tamanho desejado
application.setVisible( true ); // mostra o frame
} // fim de main
} // fim da classe ShapesTest
Coloco estes códigos à disposição de quem queira me ajudar, pelo que agradeço
caas