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