import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.Transferable;
import java.awt.datatransfer.UnsupportedFlavorException;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.Timer;
public class clipBordtest extends JFrame implements ActionListener {
private Clipboard clip = null;
Transferable old = null;
Timer t;
public clipBordtest() {
setTitle("Clipbordtest");
setAlwaysOnTop(true);
setSize(new Dimension(250, 250));
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
clip = Toolkit.getDefaultToolkit().getSystemClipboard();
old = clip.getContents(null);
t = new Timer(500, this);
t.start();
}
@Override
public void actionPerformed(ActionEvent e) {
Transferable trans = clip.getContents(null);
try {
if (trans.isDataFlavorSupported(DataFlavor.stringFlavor) && trans != null && !trans.getTransferData(DataFlavor.stringFlavor).equals(old.getTransferData(DataFlavor.stringFlavor))) {
System.out.println("Old: " + old.getTransferData(DataFlavor.stringFlavor));
System.out.println("New: " + trans.getTransferData(DataFlavor.stringFlavor));
old = trans;
}
} catch (UnsupportedFlavorException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
public static void main(String arg[]) {
new clipBordtest();
}
}