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]
-------------------------------------------------------------------------