Problemas para usar o Timer

E ae galera, blz? :cool:

To c/ problemas para usar o Timer neste exercício:

  • Eu teho q colocar o timer de um modo que ele dê um repaint a cada 1 segundo.

Mas eu não entendi como eu vou colocar um ActionListener aki pra q ele faça isso.

segue o código:


import java.awt.*;
import javax.swing.*;


public class ScreenSaver extends JFrame 
	implements ActionListener {

		
	public ScreenSaver()
	{
		super ( "Screen Saver" );
		
		setSize ( 400, 400 );
		setVisible ( true );
				
	}
	
	public void paint ( Graphics g )
	{
		super.paint ( g );
		
		int counter = 0;
		
		while ( counter <= 100 ) {
			g.setColor ( new Color ( ( int ) ( Math.random() * 255 ),
					( int ) ( Math.random() * 255 ),
					( int ) ( Math.random() * 255 ) ) ) ;
					
			g.drawLine ( ( int ) ( Math.random() * 300),
					( int ) ( Math.random() * 300),
					( int ) ( Math.random() * 300),
					( int ) ( Math.random() * 300) );
				
			counter++;
		}
		
		// Aqui viria o método repaint, mas o exercício pede
               // q seja inserido um ActionListener 				
		
	}
	
	public static void main ( String[] args )
	{
		ScreenSaver oi = new ScreenSaver();
		
		oi.setDefaultCloseOperation ( JFrame.EXIT_ON_CLOSE );
		
	}
	
}

Onde e Como eu coloco esse timer e o ActionListener nesse caso?

Valeu galera

Ops,
Resolvido. :oops:

Pra quem se interessar, código abaixo:


import java.awt.*;
import java.awt.event.*;
import javax.swing.*;


public class ScreenSaver extends JFrame 
	implements ActionListener {

	Timer timer;
	
	public ScreenSaver()
	{
		super ( "Screen Saver" );
		
		setSize ( 400, 400 );
		setVisible ( true );
			
		Timer timer = new Timer ( 1000, this );
		timer.start();
	}
	
	public void paint ( Graphics g )
	{
		super.paint ( g );
		
		int counter = 0;
		
		while ( counter <= 100 ) {
			g.setColor ( new Color ( ( int ) ( Math.random() * 255 ),
					( int ) ( Math.random() * 255 ),
					( int ) ( Math.random() * 255 ) ) ) ;
					
			g.drawLine ( ( int ) ( Math.random() * 300),
					( int ) ( Math.random() * 300),
					( int ) ( Math.random() * 300),
					( int ) ( Math.random() * 300) );
				
			counter++;
		}
		
		timer.addActionListener ( this );
	}
		
	public void actionPerformed ( ActionEvent evetn )
	{
		repaint();
	}
	
	public static void main ( String[] args )
	{
		ScreenSaver oi = new ScreenSaver();
		
		oi.setDefaultCloseOperation ( JFrame.EXIT_ON_CLOSE );
		
	}
	
}

falow e valeu