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

Reply via email to