Oi pessoal,
estou no cap. 6 - métodos, do livro java como programar 4.ed, e há um exercício em que estou travado. O exercício pede para para criar um método que exiba um quadrado de asteriscos (criei abaixo no cod. quadradoAst() ) e que incorpore esse método a um applet simples no qual o usuário digita o valor para o tamanho do quadrado.
Então pede-se para invocar o método criado a partir do método paint() do applet. O que eu não sei é exatamente fazer isso. Já fiz várias tentativas modificando o código e as classes usadas, mas o método paint() sobrepõe o método init() onde coloco os componentes GUI.
A pergunta é: como faço para chamar o método quadradoAst() a partir do método paint, mas só fazê-lo depois que o usuário digitar o tamanho do quadrado no método start() ? Qualquer outra idéia de fazer isso também é válida. O código incompleto está abaixo.
Agradeço qualquer ajuda.
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class QuadradoAsteriscos extends JApplet {
int tamanho;
JLabel tamLabel;
JTextField tamField;
public void init()
{
Container container = getContentPane();
container.setLayout( new FlowLayout() );
tamLabel = new JLabel("Tamanho do quadrado");
container.add( tamLabel );
tamField = new JTextField( 10 );
// tamField.addActionListener( this );
container.add( tamField );
}
public void start()
{
tamanho = Integer.parseInt( tamField.getText() );
}
public void paint( Graphics g )
{
quadradoAst( tamanho, g );
}
public String quadradoAst ( int lado, Graphics g )
{
String quad = "";
for ( int cont1 = lado; cont1 >= 1; --cont1 )
{
for ( int cont2 = lado; cont2 >= 1; --cont2 )
quad += "*";
quad += "\n";
}
return quad;
}
}