Ajuda com CLIPBOARD

o codigo abaixo escuta algum evento do clipboard do sstema e captura o que foi colocado la




import java.awt.Toolkit;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.FlavorEvent;
import java.awt.datatransfer.FlavorListener;
import java.awt.datatransfer.Transferable;

import javax.swing.JFrame;

public class Clip extends JFrame {
	
	private static final long serialVersionUID = 1L;
	private Clipboard clipboard = null;

	public Clip() {
		// TODO Auto-generated constructor stub
		
		setSize(200, 200);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setLocationRelativeTo(null);
		
		setVisible(true);
		
		FlavorListener listen = new  FlavorListener() {
			
			@Override
			public void flavorsChanged(FlavorEvent e) {
				// TODO Auto-generated method stub
				
				System.out.println(capturaTextoClipBoard());
				
			}
		};
		
		
		Toolkit.getDefaultToolkit().getSystemClipboard().addFlavorListener(listen);
			
		
	}// end of constructor

	
	public static String capturaTextoClipBoard() {
		
		String info = "";
		
		// captura o conteúdo
		Transferable conteudo = Toolkit.getDefaultToolkit().getSystemClipboard().getContents(null);
		
		// verifica se o clipboard do sistema aceita texto
		if(conteudo.isDataFlavorSupported(DataFlavor.stringFlavor))
		
			try {
				
				 info = (String) conteudo.getTransferData(DataFlavor.stringFlavor);
			
			} catch (Exception e) {} // catch
					
			return info;
			
	}// end of capturaTextoClipBoard
	
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		new Clip();

	}

}

porem, isso so esta acontecendo uma unica vez, eu gostaria de saber como escutar sempre os eventos do clipboard do sistema

Talvez o Filipe A. possa te ajudar: http://www.guj.com.br/java/269581-limpar-clipboard-do-so#1413381

Eis o que você precisa (eu acho):

import java.awt.Toolkit;
import java.awt.datatransfer.FlavorEvent;
import java.awt.datatransfer.FlavorListener;

public class Main {
    public static void main(String[] args) throws Exception { 
        Toolkit.getDefaultToolkit().getSystemClipboard().addFlavorListener(new FlavorListener() { 
            @Override 
            public void flavorsChanged(FlavorEvent e) { 
                System.out.println("changed!!! " + e.getSource() + " " + e.toString()); 
            } 
        }); 
        Thread.sleep(100000L); 
    }
}

fonte: http://stackoverflow.com/questions/4802982/is-it-possible-to-be-informed-when-clipboard-content-changes-outside-of-java

Att,
Filipe A.