tenho que fazer um exercicio para desenhar um quadrado de asteriscos de lado digitado pelo usuario.
dai o problema pede para eu criar um metodo para desenhar o quadrado. o problema eh o seguinte:
o metodo que eu criar deve ser chamado a partir do metodo paint
do applet e deve receber o objeto Graphics de paint.
nao sei como chamar esse metodo a partir de paint.
Quando você for postar as suas dúvidas, no caso se for código, abaixo do código poste o erro que apareceu também ok? Isso as vezes ajuda a solucionar melhor e mais rápido o problema!
[]'s
J
JavaNightPJ
"fernandoo":
ai. coloquei o codigo assim e não desenhou nada. nao consegui encontrar o erro.
public void paint()
{
quadrado( this.getGraphics() );
}
public void quadrado( Graphics g )
{
super.paint( g );
for( int linha = 1; linha <= lado; linha++ )
{
for( int coluna = 1; coluna <= lado; coluna++ )
{
g.drawString( "*", linha * 5, coluna * 5 );
}
}
}
ae.. bom..voce pode tentar chamar o super.paint antes do metodo quadrado
mas eu acho que ai tem um erro de logica
tenta fazer assim seu metodo quadrado:
public void quadrado( Graphics g )
{
super.paint( g );
for( int linha = 1; linha <= lado; linha = linha + 5 )
{
for( int coluna = 1; coluna <= lado; coluna = coluna +5 )
{
g.drawString( "*", linha , coluna );
}
}
}
G
guiguissePJ
Eu vi a mesma coisa que ele…
F
fernandooPJ
ae Reifel. nao postei o erro pois durante a compilacao nao apareceu erro. o problema é que o codigo nao desenhou o quadrado.
O erro no código postado é justamente o quê mmpaulo falou: O método chamado pelo sistema para pintar é paint(Graphics g), e não o paint() no código postado. Use o código abaixo que deve funcionar:
publicvoidpaint(Graphics g) {paintSquare(g);}//escrevernomesdemétodosevariáveiseminglêsécoisaminha,dê//onomequequiser...maseuprefirousarverbosaonomearmétodos,//comopintarQuadrado() em vez de quadrado(). Passa mais a idéia que //umaaçãoseráexecutada.Masocódigoéseu,nofinaldascontas,se//vocêentenderéoquevale.privatevoidpaintSquare(Graphics g) {//pinteoquadradoaqui}
Sem mais,
G
guiguissePJ
verdade, é tão normal o cabeçalho q eu nem observei com atenção;;;
F
fernandooPJ
realmente o mmpaulo estava certo. no bloco do metodo paint chamei o objeto Graphics ( public void paint( Graphics g ) ) e para chamar o metodo para pintar o quadrado fiz ele herdar o objeto chamada.