[Swing] ActionPerformed X ActionListener | Timer

[EDIT]
Alguém saberia dizer qual a diferença entre os dois, e exemplos de aplicação?
E como usar um Actionlistener que é disparado por um botão, em um Timer?
Ou seja, usar o recurso Timer para, de tempos em tempos, executar uma Action…
Exemplo:
Como vou usar o timer dentro da Action se ele so aceita ActionListeners como argumentos depois dos milisegundos?

//esta é a action que quero usar com Timer
private static ActionListener actionStart = new ActionListener(){
		public void actionPerformed(ActionEvent actionEvent){
//eu poderia colocar o timer aqui para de tempos em tempos chamar o metodo tc.start(); 
//mas nao dá pq já estou dentro da ActionListener
			tc.start();

		}
	};
	
	private void initComponents() 
	{	
		setTitle("Titulo");		
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

		jButton1 = new javax.swing.JButton();
		jButton1.setText("_Start_");	
		jButton1.addActionListener(actionStart);
        }

Como faço para, ao clicar neste botão, ele executar esta action a cada hora?
[]´s

Ate a onde eu sei actionPerformed eh um metodo de ActionListener:

http://java.sun.com/javase/6/docs/api/java/awt/event/ActionListener.html

Ex :

Jbutton bAdd = new JButton("Adicionar");

bAdd.addActionListener(new ActionListener() { 
	public void actionPerformed(ActionEvent e) {				
           
            //Faz alguma coisa.
	
        }
});

Nao sei se entendi a sua pergunta.

//Daniel

Ahhhhh, uma vez tinha que fazer uma gui bem simples que de tempo em tempo ia no banco e buscava as ultimas atualizacoes e jogava numa JTable :

Adicionei isso aqui :


Timer t1 = new Timer((10000/2), new ActionListener() {
          
          public void actionPerformed(ActionEvent e) {
               
                // faz o que tem que fazer                      
                            
           }
                
});    

t1.setInitialDelay(0);  
t1.start();

Tem que forcar o clique do botao de tempo e tempo eh feio, acho melhor vc criar um metodo que faz tudo o que vc quer fazer, colocar no listener desse botao a chamada pra esse metodo.
Monta esse timer de tempo em tempo chamando esse metodo.
Ai vc fica com duas opcoes ou o usuario clica no botao e executa isso, ou entao fica parado e o Timer se encarrega de executar.

//Daniel

Beleza Daniel, vou estudar a sua solução, obrigado!!!
Bom, criei uma solução, não sei se foi a melhor, mas está funcionando.

Criei duas ActionLinsteners, uma com a ação propriamente dita, e outra com o timer recebendo a primeira ação.
assim executo a segunda, e a segunda executa a primeira com um Timer:

		
	private static ActionListener actionStart = new ActionListener(){
		public void actionPerformed(ActionEvent actionEvent){
			tc.start();
		}
	};
	
	private static ActionListener actionExecute = new ActionListener(){
		public void actionPerformed(ActionEvent actionEvent){
			Timer timer = new Timer(1000, actionStart);
			timer.start();
		}
	};
	
	private void initComponents() 
	{	
		setTitle("WebService Consulta Indivíduos");		
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

		jButton1 = new javax.swing.JButton();
		jButton1.setText("_Start_");	
		jButton1.addActionListener(actionExecute);

Não sei se foi a melhor idéia, se alguém tiver outra sugestão posta ae…
[]´s

Essa thread tem tem um exemplinho bem simples

http://www.guj.com.br/posts/list/84222.java#449678

Show de bola Fabio, ja tinha visto seu exemplo e inclusive estou com ele rodando aki.
Só q vc fez de uma jeito um pouquinho diferente, implementando a interface ActionListener, mas eu nao queria fazer exatamente assim.
Muito obrigado
[]´s