Bom Dia Tomaz, tente usar a seguinte instrucao:
public void paint(Graphics g){ Dimension d = getSize(); g.clearRect(0, 0, d.width, d.height); // O restante do seu codigo........... } se voce der uma olhada na classe Component, o metodo update faz exatamente isso, mas por motivos de renderizacao ele de algum jeito nao eh executado para nao ficar dando aquelas piscadas no JFrame. Se isso se tornar um problema tente pintar a dimensao do JFrame com a mesma cor pre-definida tipo: g.setColor(myColor); Dimension d = getSize(); g.fillRect(0, 0, d.width, d.height); // Acho que eh +- assim. Veja o material completo na java.sun.com para mais detalhes. Abraco!!! -----Mensagem original----- De: Tomaz Foá Binsztajn <[EMAIL PROTECTED]> Para: [EMAIL PROTECTED] <[EMAIL PROTECTED]> Data: Domingo, 25 de Novembro de 2001 05:54 Assunto: [java-list] Método repaint() >AcessoBOL, só R$ 9,90! O menor preço do mercado! >Assine já! http://www.bol.com.br/acessobol/ > > > >Olá: > >Para brincar um pouco com Java, fiz o seguinte aplicativo/applet. >Ele simula uma espécie de protetor de tela, bem simples! > >Utilizei o método repaint() com a intenção de limpar todo o JFrame e >imprimir novas linhas. >Porém não obtive sucesso... ao utilizar o repaint() ele apenas imprime novas >linhas, sem limpar o JFrame. > >Estou fazendo algo de errado? >Pelo que li, o repaint() não deveria limpar o conteúdo a depois chamar o >paint(Graphics) para redesenhar. > >Obrigado, > >Tomaz > >import javax.swing.*; >import java.awt.*; >import java.awt.geom.*; >import java.awt.event.*; > >public class ProtecaoTela extends JFrame implements ActionListener{ > > final int NUM_LINHAS = 100; > > public ProtecaoTela(){ > super("Linhas aleatórias"); > > Timer t = new Timer(1000, this); > t.start(); > > setSize(800,600); > show(); > } > > public void paint(Graphics g){ > > Graphics2D g2d = (Graphics2D) g; > > for(int i = 0; i < NUM_LINHAS; i++){ > g2d.setPaint(new Color((float)Math.random(), (float)Math.random(), >(float)Math.random())); > g2d.setStroke(new BasicStroke((float)Math.random()*5)); > g2d.draw(new Line2D.Double(Math.random()*800, Math.random()*600, >Math.random()*800, Math.random()*600)); > } > } > > public void actionPerformed(ActionEvent e){ > repaint(); > } > > public static void main(String v[]) { > ProtecaoTela app = new ProtecaoTela(); > > app.addWindowListener( > new WindowAdapter(){ > public void windowClosing(WindowEvent e) { > System.exit(0); > } > } > ); > } >} > >------------------------------ LISTA SOUJAVA ---------------------------- >http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP >dúvidas mais comuns: http://www.soujava.org.br/faq.htm >regras da lista: http://www.soujava.org.br/regras.htm >para sair da lista: envie email para [EMAIL PROTECTED] >------------------------------------------------------------------------- > > ------------------------------ LISTA SOUJAVA ---------------------------- http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm para sair da lista: envie email para [EMAIL PROTECTED] -------------------------------------------------------------------------